범인 프로세스 찾기

범인 프로세스 찾기

이것은 기본적인 Linux 관리 질문입니다. 프로덕션 애플리케이션을 실행하는 CentOS Linux 상자가 있습니다. 이 머신에서는 10개의 애플리케이션별 프로세스가 실행되고 있습니다. Once in every 3/4 days, the linux machine freezes이를 복원하는 유일한 방법은 Amazon AWS 콘솔에서 하드 재부팅하는 것입니다.

Amazon Cloudwatch를 활성화하여 5분마다 CPU 사용량을 캡처했습니다. 정지되기 전 10~15초 동안 CPU가 100%(8개 코어)에 도달하는 것을 볼 수 있습니다. 안타깝게도 프로세스 로그 파일에서 어떤 정보도 찾을 수 없었습니다.

우리는 실제로 어떻게 포지셔닝하는가which process out of those 10 processes is causing the linux server to freeze?

CPU/메모리를 가장 많이 사용하는 상황을 디스크에 기록할 수 있는 간단한 CPU/메모리 모니터링 애플리케이션이 있습니까(예: 2초마다)? 범인 프로세스를 파악하기 위한 다른 아이디어를 제공해 주셔서 감사합니다.

답변1

top간단히 배치 모드로 실행하고 출력을 파일에 저장할 수 있습니다 .

$ top -b -d 2 > /your/log/file &

-d 2샘플링 기간입니다. 이렇게 하면 많은 데이터가 생성됩니다.

-u특정 사용자에 대한 프로세스만 나열하는 옵션을 사용하거나 -p애플리케이션 프로세스를 명시적으로 나열하는 옵션을 사용할 수도 있습니다 .

답변2

이 링크에는 프로세스 모니터링을 위한 여러(20)개의 도구가 포함되어 있습니다. top물론 가장 인기 있는 도구이지만 다른 도구 iotop도 유용합니다. iotop가장 많은 파일 시스템 IO를 사용하는 프로세스가 표시됩니다.

http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/

관련 정보