NetWorker: Troubleshooting High Memory or CPU usage by Process

Summary: Dit KB-artikel biedt een overzicht van het oplossen van problemen met hoog geheugen- en/of CPU-gebruik door een proces.

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

Bij het oplossen van een probleem met betrekking tot NetWorker kan worden vastgesteld dat een of meer processen grote hoeveelheden rekenbronnen verbruiken. Besturingssysteemopdrachten zoals Top of Windows Taakbeheer kunnen een point-in-time inzicht geven in het systeemgebruik; We kunnen echter ook het gebruik van systeembronnen in een bepaald venster vastleggen en dat vergelijken met andere systeemlogboeken.

De logboeken en processen van NetWorker worden beschreven onder:

Dit KB-artikel bevat een methode voor het gebruik van besturingssysteemfuncties en logboekregistratie. 
OPMERKING: NetWorker-support maakt geen aangepaste scripts. De scripts in deze KB kunnen worden gebruikt voor en hebben een minimale functie. U kunt deze scripts gebruiken als sjablonen om uw eigen scripts te maken op basis van omgevingsspecifieke configuraties of voorkeuren voor probleemoplossing.

Niet-gescripte aanpak: NetWorker: Problemen oplossen met een schijnbare vastloper in NetWorker met behulp van het hulpprogramma nsrwatch.


Microsoft Windows:

Op Microsoft Windows-systemen zijn er verschillende grafische hulpprogramma's, zoals Taakbeheer en PrestatiemeterDeze hyperlink leidt u naar een website buiten Dell Technologies., die kunnen worden gebruikt om het resourcegebruik volgens een specifiek proces te controleren. In deze KB bespreken we een eenvoudig batchscript dat kan worden uitgevoerd om de tijdstempel te verlengen en het CPU- en geheugengebruik van een bepaald proces weer te geven met behulp van een door de gebruiker gedefinieerd interval.

Eerst moeten we bepalen welk proces bewaakt moet worden. Dit kan variëren afhankelijk van het probleem. De NetWorker-processen en -poorten moeten helpen bij het verfijnen van de naam van de processen en wat ze doen. 

U kunt de processen op de NetWorker-server identificeren met behulp van:

  • Taakbeheer.
  • Takenlijst 
  • nsrrpcinfo -p localhost (Vereist NetWorker server of NetWorker Extended Client pakket).

1. Maak een .bat script met daarin het volgende:

@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

Waarbij:
PID = de proces-ID van het proces dat u wilt monitoren.
INTERVAL_IN_SECONDS = de numerieke waarde die aangeeft hoeveel seconden er zitten tussen elke keer dat het rapport wordt uitgevoerd. 

2. Sla het script op process-monitor.bat op een locatie naar keuze.
3. Open een Administrator-opdrachtprompt en cd naar de map waar het script is opgeslagen. 
4. Voer het script uit. 

process-monitor.bat uitvoeringsvoorbeeld

Hiermee wordt het bestand process-monitor.out gemaakt in de map van waaruit het script is uitgevoerd. Het bestand bevat:

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

Waarbij:

LocalDateTime = Wordt de datum en tijd weergegeven als YYYYMMDDHHMMSS.
IDProcess = de PID die in het script is ingevoerd.
Name = de naam van het proces waaraan de PID is gekoppeld.
PercentProcessorTime = Retourneert de verstreken tijd dat alle threads van dit proces de processor hebben gebruikt om instructies uit te voeren in 100 nanoseconden.
PrivateBytes = Huidig aantal bytes dat dit proces in het geheugen heeft toegewezen en dat niet kan worden gedeeld met andere processen.

5. Als u het script wilt stoppen, gebruikt u CTRL+C , waarbij u wordt gevraagd om het script te stoppen of door te gaan.

Deze waarden maken geen deel uit van NetWorker-code en worden beschreven in het volgende Microsoft-artikel: https://learn.microsoft.com/en-us/previous-versions/aa394323(v=vs.85) Deze hyperlink leidt u naar een website buiten Dell Technologies.
 

Linux:

Op Linux-servers kunt u tools zoals topDeze hyperlink leidt u naar een website buiten Dell Technologies. gebruiken om het gebruik van systeembronnen van processen te bewaken.  In deze KB gaan we een eenvoudig shellscript doornemen dat kan worden uitgevoerd om het CPU- en geheugengebruik van een bepaald proces te timestampen en weer te geven met behulp van een door de gebruiker gedefinieerd interval.

1. Meld u aan bij de NetWorker-server via SSH.
2. Overschakelen naar root:

sudo su -

3. Haal de PID op van het NetWorker-proces dat u wilt controleren:

ps -ef | grep nsr

NetWorker-processen en -poorten

4. Maak een .sh met het volgende:

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

Waarbij:
PID = de proces-ID van het proces dat u wilt monitoren.
slaap 5 = Wacht 5 seconden en loopt opnieuw, u kunt dit interval naar eigen goeddunken wijzigen.

5. Maak het script uitvoerbaar:

chmod +x process_monitor.sh

6. Voer het script uit:

./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. Laat het script actief voor de duur dat u het probleem wilt controleren of reproduceren waarbij vermoedelijke overbenutting van bronnen optreedt.
8. Als u het script wilt stoppen, gebruikt u CTRL+C , waarbij u wordt gevraagd om het script te stoppen of door te gaan.

OPMERKING: het script kan op de achtergrond worden uitgevoerd met nohup. Bijvoorbeeld: nohup ./process_monitor.sh &. Het script wordt op de achtergrond uitgevoerd. Om het script te stoppen, moet je de PID van het script 'ps -ef | grep process_monitor' krijgen en het vervolgens stoppen met 'kill -9 process_monitor_PID'9

. Het script maakt een uitvoerbestand aan onder /tmp met de hostnaam van het systeem:
nve:~ # ls -l /tmp | grep monitor-pid
-rw------- 1 root      root      2030 Jun  3 12:29 nve_monitor-pid.out

De inhoud van het bestand bevat een tijdstempel met de CPU en geheugengebruik van het proces dat in het script is opgegeven.

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): Bestanden kopiëren van/naar een 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.