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 관련 문제를 해결하는 동안 하나 이상의 프로세스가 많은 양의 컴퓨팅 리소스를 사용하고 있음을 확인할 수 있습니다. top 또는 Windows 작업 관리자와 같은 운영 체제 명령은 시스템 사용량에 대한 특정 시점 인사이트를 제공할 수 있습니다. 그러나 지정된 기간 동안 시스템 리소스 사용량을 캡처하여 다른 시스템 로그와 비교할 수도 있습니다.

NetWorker 로그 및 프로세스는 아래에 자세히 설명되어 있습니다.

이 KB는 운영 체제 기능 및 로깅을 사용하는 방법을 제공합니다. 
참고: NetWorker 지원 팀은 사용자 지정 스크립팅을 생성하지 않습니다. 이 KB에 제공된 스크립트는 최소한의 기능으로 사용할 수 있습니다. 이러한 스크립트를 템플릿으로 사용하여 환경별 구성 또는 문제 해결 기본 설정에 따라 고유한 스크립트를 생성할 수 있습니다.

스크립팅되지 않은 접근 방식: NetWorker: nsrwatch 유틸리티를 사용하여 NetWorker의 명백한 중단 문제를 해결하는 방법


Microsoft Windows:

Microsoft Windows 시스템에는 특정 프로세스별 리소스 사용량을 모니터링하는 데 사용할 수 있는 작업 관리자 및 성능 모니터이 하이퍼링크는 Dell Technologies 외부의 웹사이트로 연결됩니다. 와 같은 몇 가지 그래픽 도구가 있습니다. 이 KB에서는 타임스탬프에 실행할 수 있는 간단한 배치 스크립트를 살펴보고 사용자 정의 간격을 사용하여 지정된 프로세스의 CPU 및 메모리 사용량을 표시합니다.

먼저 모니터링해야 하는 프로세스를 결정해야 합니다. 이는 문제에 따라 다를 수 있습니다. NetWorker 프로세스 및 포트는 프로세스 이름과 해당 기능이 수행하는 작업의 범위를 좁히는 데 도움이 됩니다. 

다음을 사용하여 NetWorker Server의 프로세스를 식별할 수 있습니다.

  • 작업 관리자.
  • 작업 목록 
  • nsrrpcinfo -p localhost (NetWorker Server 또는 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

Where:
PID = 모니터링할 프로세스의 프로세스 ID입니다.
INTERVAL_IN_SECONDS = 보고서가 실행될 때마다 시간(초)을 나타내는 숫자 값입니다. 

2. 선택한 위치에 스크립트를 process-monitor.bat 로 저장합니다.
3. 관리자 명령 프롬프트를 열고 스크립트가 저장된 디렉토리로 이동합니다
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에서는 타임 스탬프에 실행할 수 있는 간단한 셸 스크립트를 살펴보고 사용자 정의 간격을 사용하여 지정된 프로세스의 CPU 및 메모리 사용량을 표시합니다.

1. SSH를 통해 NetWorker 서버에 로그인합니다.
2. 루트로 전환합니다.

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

Where:
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 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.