NetWorker:依程序疑難排解高記憶體或 CPU 使用率

Summary: 本知識文章概述如何故障診斷程序的高記憶體和/或 CPU 使用率。

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

在故障診斷 NetWorker 相關問題時,可能會判斷一或多個程序正在消耗大量的運算資源。操作系統命令(如 top 或 Windows 任務管理器)可能會提供系統使用方式的時間點見解;但是,我們也可以擷取指定時段內的系統資源使用率,並將其與其他系統記錄進行比較。

NetWorker 記錄和程序詳述於下方:

本知識文章提供使用作業系統功能和記錄的方法。 
注意:NetWorker 支援不會建立自訂指令碼式。本知識文章中提供的指令檔可用於 並且是最小功能。您可以將這些腳本用作範本,根據特定於環境的配置或故障排除首選項創建自己的腳本。

非指令檔方法:NetWorker:如何使用 nsrwatch 公用程式故障診斷 NetWorker 中的明顯無回應。


Microsoft Windows:

Microsoft Windows 系統上,有數種圖形工具,例如工作管理員和效能監視器此超連結會帶您前往 Dell Technologies 以外的網站。,可用於監視特定程序的資源使用方式。在本 KB 中,我們將介紹一個簡單的批次指令檔,可執行此指令檔來為指定程序加上時間戳記,並使用使用者定義的時間間隔顯示 CPU 和記憶體使用量。

首先,我們必須確定必須監控哪些過程。這可能因問題而有所不同。NetWorker 程式和連接埠應有助於縮小程式名稱及其作用的範圍。 

您可以使用下列方法識別 NetWorker 伺服器上的程序:

  • 工作管理員。
  • 工作清單 
  • nsrrpcinfo -p localhost (需要 NetWorker 伺服器或 NetWorker 擴充式用戶端套裝)。

1.建立包含以下內容的.bat文稿:

@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

其中:
PID = 要監視的進程的進程 ID。
INTERVAL_IN_SECONDS = 數值,表示每次運行報表之間的秒數。 

2.將指令檔原 process-monitor.bat 儲存在您選擇的位置。
3.開啟系統管理員命令提示字元, 然後使用 cd 命令前往儲存指令檔的目錄。
4.執行指令檔。 

process-monitor.bat執行範例

這會在執行指令檔的目錄中建立 process-monitor.out 檔案。檔案包含:

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

其中:

LocalDateTime = 日期和時間顯示為 YYYYMMDDHHMMSS。
IDProcess = 在指令檔中輸入的 PID。
名稱 = 與 PID 關聯的進程的名稱。
PercentProcessorTime = 返回此進程的所有線程使用處理器在 100 納秒內執行指令所經過的時間。
PrivateBytes = 此進程在記憶體中分配的無法與其他進程共用的當前位元組數。

5.若要停止腳本,請使用 CTRL+C ,系統將提示你停止或繼續腳本。

這些值不屬於任何 NetWorker 程式碼,並會在下列Microsoft文章中詳細說明:https://learn.microsoft.com/en-us/previous-versions/aa394323(v=vs.85) 此超連結會帶您前往 Dell Technologies 以外的網站。
 

Linux:

在 Linux 伺服器上,您可以使用 top此超連結會帶您前往 Dell Technologies 以外的網站。 等工具來監控進程的系統資源使用方式。  在本 KB 中,我們將介紹一個簡單的 shell 腳本,該腳本可以運行以使用使用者定義的間隔運行以時間戳並顯示指定進程的 CPU 和記憶體使用方式。

1.以 SSH 登入 NetWorker 伺服器。
2.切換至 root:

sudo su -

3.取得您要監視之 NetWorker 程序的 PID:

ps -ef | grep nsr

NetWorker 程式和連接埠

4.建立包含以下內容的.sh:

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

其中:
PID = 要監視的進程的進程 ID。
睡眠 5 = 等待 5 秒並再次運行,您可以自行決定更改此間隔。

5.使指令檔可執行:

chmod +x process_monitor.sh

6.執行指令檔:

./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.讓指令檔持續執行您要監控或手動重現發生可疑資源過度使用率的問題。
8.若要停止腳本,請使用 CTRL+C ,系統將提示你停止或繼續腳本。

注意: 指令檔可使用 nohup 在背景執行。例如:Nohup ./process_monitor.sh &.指令檔會在背景中執行。要停止腳本,您必須獲取腳本“ps -ef | grep process_monitor”的 PID,然後使用“kill -9 process_monitor_PID

9 將其停止。指令檔會在 /tmp 下建立包含系統主機名稱的輸出檔案:
nve:~ # ls -l /tmp | grep monitor-pid
-rw------- 1 root      root      2030 Jun  3 12:29 nve_monitor-pid.out

檔案的內容包括時間戳記,以及指令檔中指定的程序的 CPU 和記憶體使用率。

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):如何將檔案複製到 Linux NetWorker 伺服器/從 Linux NetWorker 伺服器複製檔案。

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.