NetWorker: Odstraňování problémů s vysokým využitím paměti nebo procesoru podle procesu
Summary: Tento článek znalostní databáze poskytuje přehled řešení problémů s vysokým využitím paměti nebo procesoru určitým procesem.
Instructions
Při odstraňování problémů souvisejících s nástrojem NetWorker může být zjištěno, že jeden nebo více procesů spotřebovává velké množství výpočetních prostředků. Příkazy operačního systému, jako je top nebo Správce úloh systému Windows, mohou poskytnout přehled o využití systému k určitému bodu v čase; Můžeme však také zachytit využití systémových prostředků v daném okně a porovnat je s jinými systémovými protokoly.
Protokoly a procesy NetWorker jsou podrobně popsány v části:
Tento článek znalostní databáze popisuje metodu využívající funkce operačního systému a protokolování.Neskriptovaný přístup: NetWorker: Jak odstranit zjevné zablokování v nástroji NetWorker pomocí nástroje nsrwatch.
Microsoft Windows:
V systémech Microsoft Windows existuje několik grafických nástrojů, například Správce úloh a Sledování výkonu, které lze použít ke sledování využití zdrojů konkrétním procesem. V tomto článku znalostní databáze si projdeme jednoduchý dávkový skript, který lze spustit s časovým razítkem a zobrazit využití procesoru a paměti zadaným procesem pomocí uživatelem definovaného intervalu.
Nejprve musíme určit, jaký proces je třeba sledovat. To se může lišit v závislosti na problému. Procesy a porty NetWorker by měly pomoci zúžit název procesů a jejich činnost.
Procesy na serveru NetWorker můžete identifikovat následovně:
- Správce úloh.
- Seznam úkolů
- nsrrpcinfo -p localhost (Vyžaduje server NetWorker nebo balíček klienta NetWorker Extended).
1. Vytvořte .bat skript obsahující následující položky:
@echo OFF
: x
wmic os get LocalDateTime /value >> performance_monitor.out
wmic path win32_perfformatteddata_perfproc_process where IDProcess="PID" get Name, PercentProcessorTime, PrivateBytes, IDProcess /format:list >> performance_monitor.out
timeout INTERVAL_IN_SECONDS
goto x
Kde:
PID = ID procesu, který chcete monitorovat.
INTERVAL_IN_SECONDS = Číselná hodnota, která udává, kolik sekund mezi jednotlivými běhy sestavy.
2. Uložte skript jako process-monitor.bat do umístění podle vašeho výběru.
3. Otevřete příkazový řádek správce a přejděte do adresáře, kam se skript uložil.
4. Spusťte skript.

Tím se vytvoří soubor process-monitor.out v adresáři, ze kterého byl skript spuštěn. Soubor obsahuje:
LocalDateTime=20240307112701.555000-300
IDProcess=6436
Name=nsrd
PercentProcessorTime=0
PrivateBytes=23605248
LocalDateTime=20240307112723.266000-300
IDProcess=6436
Name=nsrd
PercentProcessorTime=0
PrivateBytes=23605248
LocalDateTime=20240307112729.634000-300
IDProcess=6436
Name=nsrd
PercentProcessorTime=0
PrivateBytes=23605248
LocalDateTime=20240307112735.457000-300
IDProcess=6436
Name=nsrd
PercentProcessorTime=0
PrivateBytes=23670784
Kde:
LocalDateTime = Datum a čas se zobrazuje jako RRRRMMDDHHMMSS.
IDProcess = identifikátor PID, který byl zadán ve skriptu.
Name = název procesu, ke kterému je PID přidruženo.
PercentProcessorTime = Vrací uplynulý čas, po který všechna vlákna tohoto procesu použila procesor k vykonání instrukcí za 100 nanosekund.
PrivateBytes = Aktuální počet bajtů, které tento proces přidělil v paměti, které nelze sdílet s jinými procesy.
5. Chcete-li skript zastavit, použijte kombinaci kláves CTRL+C , kde budete vyzváni k zastavení nebo pokračování skriptu.
Tyto hodnoty nejsou součástí žádného kódu NetWorker a jsou podrobně popsány v následujícím článku společnosti Microsoft: https://learn.microsoft.com/en-us/previous-versions/aa394323(v=vs.85)
Linux:
Na serverech s Linuxem můžete pomocí nástrojů, jako je top , monitorovat využití systémových prostředků procesů. V tomto článku znalostní databáze si projdeme jednoduchý shellový skript, který lze spustit s časovým razítkem a zobrazit využití procesoru a paměti zadaným procesem pomocí uživatelem definovaného intervalu.
1. Přihlaste se k serveru NetWorker pomocí SSH.
2. Přepněte na uživatele root:
sudo su -
3. Získejte identifikátor PID procesu NetWorker, který chcete monitorovat:
ps -ef | grep nsr
4. Vytvořte .sh obsahující následující položky:
vi process_monitor.sh
#!/bin/bash
#Get Date
cat /proc/meminfo > /tmp/`hostname`_monitor-pid.out
cat /proc/cpuinfo >> /tmp/`hostname`_monitor-pid.out
#Monitor PID
while true; do
echo "Press [CTRL+C] to stop the loop."
DATE=$(date +%Y/%m/%d-%H:%M:%S)
echo -e "\\n$DATE" >> /tmp/`hostname`_monitor-pid.out ; ps -p PID -o %cpu,%mem,cmd >> /tmp/`hostname`_monitor-pid.out
# Wait 5 seconds (change as per your discretion)
sleep 5
done
Kde:
PID = ID procesu, který chcete monitorovat.
sleep 5 = Počká 5 sekund a znovu se spustí, tento interval můžete změnit podle svého uvážení.
5. Nastavte skript jako spustitelný:
chmod +x process_monitor.sh
6. Spusťte skript:
./process_monitor.sh
nve:~ # ./process_monitor.sh
Press [CTRL+C] to stop the loop.
Press [CTRL+C] to stop the loop.
Press [CTRL+C] to stop the loop.
Press [CTRL+C] to stop the loop.
Press [CTRL+C] to stop the loop.
Press [CTRL+C] to stop the loop.
Press [CTRL+C] to stop the loop.
^C
nve:~ #
7. Ponechte skript spuštěný po dobu, kterou chcete monitorovat, nebo ručně reprodukujte problém, kdy dojde k podezření na nadměrné využití prostředků.
8. Chcete-li skript zastavit, použijte kombinaci kláves CTRL+C , kde budete vyzváni k zastavení nebo pokračování skriptu.
. Skript vytvoří výstupní soubor v umístění /tmp s názvem hostitele systému:
nve:~ # ls -l /tmp | grep monitor-pid
-rw------- 1 root root 2030 Jun 3 12:29 nve_monitor-pid.out
Obsah souboru zahrnuje časové razítko s využitím procesoru a paměti procesu zadaného ve skriptu.
nve:~ # tail -12 /tmp/nve_monitor-pid.out
2024/06/03-12:28:54
%CPU %MEM CMD
0.0 0.3 /usr/sbin/nsrd
2024/06/03-12:29:02
%CPU %MEM CMD
0.0 0.3 /usr/sbin/nsrd
2024/06/03-12:29:07
%CPU %MEM CMD
0.0 0.3 /usr/sbin/nsrd
NetWorker (Linux): Jak kopírovat soubory do/ze serveru Linux NetWorker.