소개
이 문서에서는 StarOS에서 작업의 리소스 사용량이 작동하는 방식에 대해 설명하고 CPU/메모리/파일 사용량이 많은 이벤트 문제를 해결하기 위해 수집해야 하는 로그 목록을 제공합니다. StarOS에서 Resource Management Subsystem(rescrl / resmgr)은 시스템의 각 작업에 대한 리소스 제한 집합을 할당합니다. 각 작업의 리소스 사용량을 모니터링하여 제한 내에 있는지 확인합니다. 작업이 제한을 초과하면 네트워크 작업을 알리기 위해 Syslog 또는 SNMP(Simple Network Management Protocol) 트랩이 생성됩니다.
리소스 모니터링 메커니즘
sessmgr/aaamgr/vpnmgr 등과 같이 StarOS에서 실행되는 많은 작업이 있습니다. 각 작업은 CPU/메모리/파일 사용량에 대한 제한을 설정하며 리소스 관리에 의해 제한을 모니터링합니다. 제한은 작업 유형(sessmgr 및 aaaamgr에 제한이 다름), StarOS 버전 및 하드웨어 유형별로 다를 수 있습니다. 또한 제한 사항은 시스템에 의해 정의되며 사용자가 구성할 수 없습니다.
StarOS의 각 작업에 대한 설명은 System Administration Guide의 StarOS Tasks 장에서 확인할 수 있습니다.
기본 리소스 사용량 정보는 show task resources
CLI 명령.
필드 |
설명 |
사용된 시간 |
작업의 CPU 사용량 |
cputime all |
작업에 할당된 CPU 사용량 제한 |
사용된 메모리 |
작업의 메모리 사용량 |
메모리 할당 |
작업에 할당된 메모리 사용량 제한 |
사용된 파일 |
작업의 파일 사용 |
파일 모두 |
작업의 할당된 파일 사용량 |
상태 |
작업 상태: 좋음/경고/경고 |
이 작업은 리소스를 계속 감시하고 작업 기능을 제한하지 않는 것이 목적임을 이해하는 것이 중요합니다. 이 작업은 제한보다 더 많은 CPU/메모리/파일을 사용한 후에도 작동할 수 있어야 합니다. Syslog 및 SNMP 트랩은 제한을 초과할 때 생성되지만 항상 문제를 나타내는 것은 아닙니다.
의심되는 원인
대부분의 경우, 임시 사용량 급증은 문제가 되지 않습니다. 하지만 예를 들어, 작업의 CPU 사용량이 100% 유지되거나 메모리 사용량이 계속 증가하고 감소하지 않을 경우 이러한 사례를 조사해야 합니다.
일시적인 급증 원인은 다음과 같습니다.
- 엄청난 출력을 생성하는 CLI 명령(CLI 작업)
- 시스템에 보관된 로그 정보 양(evlogd 작업)
조사해야 하는 경우는 다음과 같습니다.
- 내부 무한 루프로 인한 높은 CPU 사용량(CPU 사용량이 100% 유지)
- 메모리 누수 또는 조각화에 의한 메모리 사용의 지속적인 증가
sessmgr, npudrv 및 CLI 시설의 SNMP 트랩 예는 다음과 같습니다.
Mon Aug 26 11:32:19 2013 Internal trap notification 1221 (MemoryOver) facility sessmgr instance 16 card 1 cpu 0 allocated 204800 used 220392
Mon Aug 26 11:32:29 2013 Internal trap notification 1222 (MemoryOverClear) facility sessmgr instance 16 card 1 cpu 0 allocated 1249280 used 219608
Fri Dec 20 13:52:20 2013 Internal trap notification 1217 (MemoryWarn) facility npudrv instance 401 card 5 cpu 0 allocated 112640 used 119588
Fri Dec 20 14:07:26 2013 Internal trap notification 1218 (MemoryWarnClear) facility cli instance 5011763 card 5 cpu 0 allocated 56320 used 46856
Wed Dec 25 12:24:16 2013 Internal trap notification 1220 (CPUOverClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272
Wed Dec 25 12:24:16 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272
Wed Dec 25 17:04:56 2013 Internal trap notification 1215 (CPUWarn) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 595
Wed Dec 25 17:05:36 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 220
CPU 사용량
CPU 작업 사용량이 한계에 도달하면 CPUWarn 및 CPUOver SNMP 트랩이 Syslog 경고와 함께 생성됩니다.
SNMP 트랩
Internal trap notification 1215 (CPUWarn) facility sct instance 0 card 8 cpu 0 allocated 500 used 451
Internal trap notification 1219 (CPUOver) facility cli instance 5010046 card 5 cpu 0 allocated 600 used 609
CPUOver 예에서 인스턴스 번호 5010046은 60.9%의 CPU 사용량을 소비하고 제한은 60%입니다.
Syslog
[resmgr 14502 warning] [2/0/2352
_resource_cpu.c:2876] [software internal system] The task ipsecmgr-202 is over it's cputime limit. Allocated 50.0%, Using 51.8%
참고: 이 Syslog는 경고 수준이며 기본 로깅 설정으로 생성되지 않습니다. 이를 생성해야 하는 경우 resmgr에 대한 로깅 설정을 경고로 구성해야 합니다.
메모리 사용량
메모리 작업 사용량이 한계에 도달하면 Syslog 경고와 함께 MemoryWarn 및 MemoryOver SNMP 트랩이 생성됩니다.
SNMP 트랩
Internal trap notification 1217 (MemoryWarn) facility cli instance 5005588 card 5 cpu 0 allocated 66560 used 70212
Internal trap notification 1221 (MemoryOver) facility cli instance 5010046 card 5 cpu 0 allocated 66560 used 89940
MemoryOver 예에서 인스턴스 번호 5010046은 89940 메모리를 사용하지만 제한은 66560입니다.
Syslog
[resmgr 14500 warning] [8/0/4054
_resource_cpu.c:3622] [software internal system syslog] The task bulkstat-0 is over its memory limit. Allocated 46080K, Using 48120K
참고: 이 Syslog는 경고 수준이며 기본 로깅 설정으로 생성되지 않습니다. 이를 생성해야 하는 경우 resmgr에 대한 로깅 설정을 경고로 구성해야 합니다.
파일 사용
더 files
열린 파일 수 또는 파일 설명자 작업에서 사용하는 파일 수를 나타냅니다. 파일 사용량에 대한 SNMP 트랩은 없지만 제한을 초과하면 Syslog가 생성됩니다.
2013-May-28+14:16:18.746 [resmgr 14517 warning] [8/0/4440
_resource_cpu.c:3558] [software internal system syslog] The task cli-8031369 is over its open files limit. Allocated 2000, Using 2499
문제 해결에 필요한 정보
이 섹션에서는 추가 조사가 필요한 경우 새로운 TAC(Technical Assistance Center) 서비스 요청을 열기 전에 수집해야 할 정보에 대해 설명합니다. 수집해야 하는 로그는 사용 유형에 따라 다릅니다.
참고: 명령 목록 외에도 명령 출력 show support detail
항상 필요합니다.
CPU 사용량
StarOS CLI에 다음 명령을 입력하고 출력을 캡처합니다.
show task resources
show task resource max
show snmp trap history
show logs
show profile facility
instance
depth 4
참고: 더 show profile
명령은 hidden-mode CLI 명령입니다.
메모리 사용량
StarOS CLI에 다음 명령을 입력하고 출력을 캡처합니다.
show task resources
show task resource max
show snmp trap history
show logs
heap 및 system heap 명령을 정기적으로 여러 번 수집합니다(예: 15분마다 4개씩).
show messenger proclet facility
instance
heap
show messenger proclet facility
instance
system heap
참고: 더 show messenger proclet
명령을 사용하여 hidden-mode CLI 명령을 실행합니다.
파일 사용
StarOS CLI에 다음 명령을 입력하고 출력을 캡처합니다.
show task resources
show task resource max
show snmp trap history
show logs