top 명령 출력 설명(임베디드 시스템)

top 명령 출력 설명(임베디드 시스템)

top 명령에서 얻은 출력을 이해하도록 도와줄 수 있는 사람이 있습니까? 이것은 oom-killer가 호출되어 내 기본 애플리케이션을 종료하는 순간입니다. VSZ와 %VSZ 아래에는 정확히 무엇이 있나요? 502m304.5는 무엇입니까?여기에 이미지 설명을 입력하세요.

답변1

출력에서는 top터미널이 인식하지 못하는 일부 이스케이프 시퀀스가 ​​인쇄되고 있음을 보여줍니다. 공백 뒤에 [더 많은 가비지 문자가 표시되는 비트는 대부분의 터미널에서 작동하는 이스케이프 시퀀스입니다. 이러한 시퀀스의 첫 번째 문자는 이스케이프 문자이며 터미널은 이를 공백으로 인쇄합니다. 예를 들어 ␛[7m제목 줄의 시작 부분부터 강조 표시를 시작하거나 ␛[0m강조 표시를 중지하는 등의 작업을 수행할 수 있습니다.

STAT 및 VSZ 열에서 정확히 무슨 일이 일어나고 있는지 잘 모르겠지만 상단에도 일부 색상 변경 시퀀스가 ​​인쇄되고 있는 것 같습니다(여기서 유래 m). 부분적으로 덮여 있습니다(상단이 인쇄 중일 수 있음). 다음 문자가 해당 문자 를 덮도록 커서를 왼쪽으로 이동하게 합니다.

많은 프로그램의 경우 TERM환경 변수를 올바르게 설정하는 것만으로도 충분합니다. 이는 이스케이프 시퀀스를 지원하지 않는 터미널 유형을 나타내야 합니다. TERM어딘가에 값을 하드코딩하는 스크립트가 없는지 확인하세요 . 노력하다 TERM=dumb. BusyBox를 사용하는 경우 대부분의 터미널에 하드코딩된 이스케이프 시퀀스가 ​​있으므로 top운이 없는 것 같습니다. 이스케이프 시퀀스를 제거하는 필터를 통해 실행할 수 있습니다. 테스트되지 않았지만 BusyBox에서 작동합니다.

#!/bin/sh
script=$(printf 's/\033\\[[0-9;]*[A-Za-z]//g')
sed -e "$script" "$@"

(에서이것보다 완전한 Perl 스크립트)

답변2

~에서http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ps.html:

VSZ= "(가상) 메모리의 프로세스 크기(1024바이트), 10진수 정수로 표시됩니다."

관련 정보