"ps" 명령은 프로세스의 현재 상태를 나타냅니다. 과거의 특정 프로세스의 상태를 알 수 있는 방법이 있습니까? 지금으로부터 48시간 전의 특정 프로세스의 상태를 알고 싶다고 가정해 보겠습니다.
장치 충돌이 발생했으며 충돌이 발생했을 때 다른 프로세스의 상태를 알고 싶습니다.
답변1
아니요, ps
및 같은 명령은 top
프로세스의 현재 상태만 표시합니다. 모니터링 시스템이 갖춰져 있지 않으면 과거 프로세스 상태를 알 수 없습니다.
나중에 atop
로깅 프로세스 상태를 설정할 수 있습니다. 맨페이지에서:
장기 분석을 위한 시스템 및 프로세스 수준 통계를 저장하기 위해(예: 어제 오후 3시에서 4시 사이에 실행되는 시스템 로드 및 활성 프로세스 검사) atop은 시스템 및 프로세스 수준 통계를 압축된 원시 파일에 저장할 수 있습니다. 플래그 -w 뒤에 파일 이름이 오는 이진 형식입니다. 파일이 이미 존재하고 원시 데이터 파일로 인식되면 atop은 파일에 새 샘플을 추가합니다(시작 이후 활동을 반영하는 샘플부터 시작). 파일이 존재하지 않으면 파일을 생성합니다.
기본적으로 해당 간격 동안 활성화된 프로세스만 원시 파일에 저장됩니다. -a 플래그가 지정되면 모든 프로세스가 저장됩니다. 간격(기본값: 10초)과 샘플 수(기본값: 무한대)는 마지막 매개변수로 전달될 수 있습니다. -S 플래그를 사용하면 샘플 수보다는 어쨌든 자정 이전에 완료되어야 한다고 지시할 수 있습니다.
분명히 이미 말했듯 atop
이 녹음은 설정한 순간부터 시작됩니다.