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 之外的网站。,可用于监视特定进程的资源使用情况。在本知识库文章中,我们将介绍一个简单的批处理脚本,该脚本可以运行到时间戳,并使用用户定义的时间间隔显示指定进程的 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 之外的网站。 之类的工具来监视进程的系统资源使用情况。  在本知识库文章中,我们将介绍一个简单的 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.