NetWorker: 프로세스별 높은 메모리 또는 CPU 사용량 문제 해결

요약: 이 KB는 프로세스에서 높은 메모리 및/또는 CPU 사용량 문제를 해결하는 방법에 대한 개요를 제공합니다.

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

지침

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로/에서 파일을 복사하는 방법

추가 정보

해당 제품

NetWorker

제품

NetWorker Family, NetWorker Series
문서 속성
문서 번호: 000222888
문서 유형: How To
마지막 수정 시간: 15 8월 2025
버전:  5
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.