NetWorker: Felsökning av hög minnes- eller CPU-användning efter process

Summary: Den här kunskapsbasartikeln innehåller en översikt över hur du felsöker hög minnes- och/eller CPU-användning av en process.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Vid felsökning av ett NetWorker-relaterat problem kan det fastställas att en eller flera processer förbrukar stora mängder beräkningsresurser. Operativsystemkommandon som top eller Windows Task Manager kan ge en inblick i systemanvändningen. Men vi kan också registrera användningen av systemresurser under ett visst fönster och jämföra den med andra systemloggar.

NetWorker-loggar och -processer beskrivs i:

I den här kunskapsbas-artikeln beskrivs en metod med operativsystemsfunktioner och loggning. 
Obs! NetWorker-supporten skapar inte anpassade skript. Skripten som tillhandahålls i denna KB kan användas för och har minimal funktion. Du kan använda dessa skript som mallar för att skapa egna skript baserat på miljöspecifika konfigurationer eller felsökningsinställningar.

Icke-skriptbaserat tillvägagångssätt: NetWorker: Felsöka en uppenbar låsning i NetWorker med hjälp av verktyget nsrwatch.


Microsoft Windows:

På Microsoft Windows-system finns det flera grafiska verktyg som Task Manager och Performance MonitorDen här hyperlänken tar dig till en webbplats utanför Dell Technologies. som kan användas för att övervaka resursanvändning genom en specifik process. I denna KB kommer vi att gå igenom ett enkelt batchskript som kan köras till tidsstämpel och visa CPU- och minnesanvändningen för en angiven process med hjälp av ett användardefinierat intervall.

Först måste vi bestämma vilken process som måste övervakas. Detta kan variera beroende på problemet. NetWorker-processer och -portar bör hjälpa dig att begränsa namnet på processerna och vad de gör. 

Du kan identifiera processerna på NetWorker-servern med hjälp av:

  • Aktivitetshanteraren.
  • Uppgiftslista 
  • nsrrpcinfo -p localhost (Kräver NetWorker-server eller NetWorker utökat klientpaket).

1. Skapa ett .bat skript som innehåller följande:

@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

Var:
PID = process-ID för den process du vill övervaka.
INTERVAL_IN_SECONDS = det numeriska värde som anger hur många sekunder det går mellan varje gång rapporten körs. 

2. Spara skriptet som process-monitor.bat på en plats som du väljer.
3. Öppna en kommandotolk för administratör och använd kommandot cd för att byta till katalogen där skriptet sparades. 
4. Kör skriptet. 

Exempel på process-monitor.bat körning

Detta skapar filen process-monitor.out i katalogen som skriptet kördes från. Filen innehåller:

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

Var:

LocalDateTime = Är datum och tid som visas som YYYYMMDDHHMMSS.
IDProcess = den PID som angavs i skriptet.
Namn = namnet på den process som PID är associerad med.
PercentProcessorTime = Returnerar förfluten tid som alla trådar i den här processen använde processorn för att köra instruktioner på 100 nanosekunder.
PrivateBytes = Aktuellt antal byte som den här processen har allokerat i minnet som inte kan delas med andra processer.

5. Om du vill stoppa skriptet använder du CTRL+C där du uppmanas att stoppa eller fortsätta skriptet.

Dessa värden ingår inte i någon NetWorker-kod och beskrivs i följande Microsoft-artikel: https://learn.microsoft.com/en-us/previous-versions/aa394323(v=vs.85) Den här hyperlänken tar dig till en webbplats utanför Dell Technologies.
 

Linux:

På Linux-servrar kan du använda verktyg som topDen här hyperlänken tar dig till en webbplats utanför Dell Technologies. för att övervaka systemresursanvändningen av processer.  I denna KB kommer vi att gå igenom ett enkelt skalskript som kan köras till timestamp och visa CPU- och minnesanvändningen för en angiven process med hjälp av ett användardefinierat intervall.

1. Logga in på NetWorker-servern via SSH.
2. Växla till root:

sudo su -

3. Hämta PID för den NetWorker-process som du vill övervaka:

ps -ef | grep nsr

NetWorker-processer och portar

4. Skapa en .sh som innehåller följande:

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

Var:
PID = process-ID för den process du vill övervaka.
sleep 5 = Väntar 5 sekunder och går igen, du kan ändra detta intervall efter eget gottfinnande.

5. Gör skriptet körbart:

chmod +x process_monitor.sh

6. Kör skriptet:

./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. Låt skriptet köras under den tid du vill övervaka eller manuellt återskapa problemet där misstänkt överutnyttjande av resurser inträffar.
8. Om du vill stoppa skriptet använder du CTRL+C där du uppmanas att stoppa eller fortsätta skriptet.

OBS: skript kan köras i bakgrunden med nohup. Till exempel: nohup ./process_monitor.sh &. Skriptet körs i bakgrunden. För att stoppa skriptet måste du hämta PID för skriptet 'ps -ef | grep process_monitor' och sedan stoppa det med att använda 'kill -9 process_monitor_PID'9

. Skriptet skapar en utdatafil under /tmp med systemets värdnamn:
nve:~ # ls -l /tmp | grep monitor-pid
-rw------- 1 root      root      2030 Jun  3 12:29 nve_monitor-pid.out

Innehållet i filen innehåller en tidsstämpel med processor- och minnesanvändningen för den process som anges i skriptet.

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): Så här kopierar du filer till/från en Linux NetWorker-server.

Additional Information

Affected Products

NetWorker

Products

NetWorker Family, NetWorker Series
Article Properties
Article Number: 000222888
Article Type: How To
Last Modified: 15 Aug 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.