NetWorker:プロセスごとのメモリーまたはCPU使用率が高い場合のトラブルシューティング

Summary: このKBでは、プロセスによるメモリーや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関連の問題のトラブルシューティング中に、1つ以上のプロセスが大量のコンピューティング リソースを消費していると判断される場合があります。top や Windows タスク マネージャーなどのオペレーティング システム コマンドは、システムの使用状況のポイントインタイムの洞察を提供する場合があります。ただし、特定のウィンドウにわたるシステム リソースの使用状況を取得し、他のシステム ログと比較することもできます。

NetWorkerのログとプロセスの詳細については、以下を参照してください。

このKBでは、オペレーティング システムの機能とログを使用する方法について説明します。 
メモ: NetWorkerサポートでは、カスタム スクリプトは作成されません。このKBで提供されているスクリプトは、に使用でき、最小限の機能です。これらのスクリプトをテンプレートとして使用し、環境固有の設定やトラブルシューティングの環境設定に基づいて独自のスクリプトを作成できます。

スクリプトを使用しないアプローチ: NetWorker:「nsrwatchユーティリティーを使用してNetWorkerで明らかなハングをトラブルシューティングする方法(英語)」を参照してください。


Microsoft Windows:

Microsoft Windowsシステムには、タスクマネージャやパフォーマンスモニタこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。など、特定のプロセスによるリソースの使用状況を監視するために使用できるいくつかのグラフィカルツールがあります。この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。
Name = PIDが関連付けられているプロセスの名前。
PercentProcessorTime = このプロセスのすべてのスレッドがプロセッサを使用して命令を 100 ナノ秒で実行した経過時間を返します
PrivateBytes = このプロセスが他のプロセスと共有できないメモリに割り当てた現在のバイト数。

5.スクリプトを停止するには、 CTRL+C を使用して、スクリプトを停止または続行するように求められます。

これらの値はNetWorkerコードの一部ではなく、Microsoftの記事 https://learn.microsoft.com/en-us/previous-versions/aa394323(v=vs.85)に詳述されています。 このハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。
 

Linuxの場合

Linuxサーバーでは、 topこのハイパーリンクをクリックすると、デル・テクノロジーズ以外のWebサイトにアクセスします。 などのツールを使用して、プロセスのシステムリソースの使用状況を監視できます。  このKBでは、タイムスタンプを取得して、ユーザー定義の間隔で指定したプロセスの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。
sleep 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サーバーとの間でファイルをコピーする方法。

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.