Linux에서 시스템이 차지하는 리소스를 어떻게 확인하나요?
실행 중 상태에 있는 프로세스 수를 확인하려면 시스템 메모리 또는 I/O 병목 현상이 있을 수 있습니다. 많은 경우 iostat를 사용하여 I/O 로드를 살펴보세요...
top:
주요 매개변수
d: 업데이트 간격을 지정합니다. 초 단위로 계산됩니다.
q: 지연 없이 업데이트됩니다. 사용자에게 슈퍼유저가 있는 경우 top 명령이 가장 높은 우선순위로 실행됩니다.
c: 프로세스의 전체 경로와 이름을 표시합니다.
S: 누적 모드는 완료되거나 사라진 하위 트립의 CPU 시간을 누적합니다.
s: 안전 모드.
i: 유휴 또는 쓸모없는 여행 일정을 표시하지 마세요.
n: 업데이트 횟수를 표시하고 완료 후 종료됩니다.
표시 매개변수:
PID(프로세스 ID): 프로세스 식별 번호.
USER: 프로세스 소유자의 사용자 이름입니다.
PR: 프로세스의 우선순위 수준입니다.
NI: 프로세스의 우선순위 값입니다.
VIRT: 프로세스가 차지하는 가상 메모리 값입니다.
RES: 프로세스가 차지하는 물리적 메모리 값입니다.
SHR: 프로세스에서 사용하는 최대 공유 메모리 값입니다.
S: 프로세스의 상태입니다. 여기서 S는 절전 모드, R은 실행 중, Z는 좀비 상태, N은 프로세스의 우선 순위 값이 음수임을 의미합니다.
CPU: 프로세스가 차지하는 CPU 사용량입니다.
MEM: 이 프로세스가 차지하는 실제 메모리와 총 메모리의 비율입니다.
TIME+: 프로세스가 시작된 후 프로세스가 차지한 총 CPU 시간입니다.
명령: 프로세스 시작을 위한 시작 명령의 이름입니다. 이 줄을 표시할 수 없는 경우 프로세스에는 완전한 명령줄이 있습니다.
top 명령을 사용하는 동안 일부 대화형 명령을 사용하여 다른 매개변수의 기능을 완료할 수도 있습니다. 이러한 명령은 바로 가기 키를 통해 실행됩니다.
: 즉시 새로 고침합니다.
P: CPU 사용량에 따라 정렬합니다.
T: 시간순, 누적시간순으로 정렬합니다.
q: 최상위 명령을 종료합니다.
m: 메모리 정보 표시를 전환합니다.
t: 프로세스 및 CPU 상태 정보를 표시하도록 전환합니다.
c: 명령 이름 표시와 전체 명령줄 표시 사이를 전환합니다.
M: 사용된 메모리 크기에 따라 정렬합니다.
W: 현재 설정을 ~/.toprc 파일에 씁니다. 이는 최상위 구성 파일을 작성하는 데 권장되는 방법입니다.
free
1. 기능
free 명령은 메모리 사용량을 표시하는 데 사용되며 사용 권한은 모든 사용자에게 있습니다.
2. 형식
free [-b-k-m] [-o] [-s 지연] [-t] [-V]
3. 주요 매개변수
-b-k-m: 메모리 사용량을 바이트(KB, MB) 단위로 표시합니다.
-s 지연: 메모리 사용량을 표시하는 시간(초)을 표시합니다.
-t: 메모리 합계 열을 표시합니다.
-o: 버퍼 조정 열을 표시하지 않습니다.
가동 시간
18:59:15 최대 25분, 사용자 2명, 로드 평균: 1.23, 1.32, 1.21
현재 시간
시스템 실행 시작 후 경과된 시간
연결된 사용자 수
최근 1분, 5분, 15분 동안의 시스템 로드
매개변수: -V는 버전 정보를 표시합니다.
vmstat
procs -----------메모리------------ ---스왑-- -----io ---- --system-- ----cpu----
r b swpd free buff 캐시 si so bi bo in cs us sy id wa
0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70
1 디스크 활동 관찰
디스크 활동은 주로 다음 표시기로 이해됩니다.
bi: 초당 디스크에서 읽은 블록 수(블록/초)를 나타냅니다. 숫자가 높을수록 디스크를 읽는 활동이 더 많다는 의미입니다.
bo: 초당 디스크에 기록된 블록 수(블록/초)를 나타냅니다. 숫자가 높을수록 디스크에 쓰는 활동이 더 많다는 의미입니다.
wa: CPU가 디스크 I/O(보류 중인 디스크 IO)를 기다리는 시간의 비율입니다. 숫자가 높을수록 CPU가 느린 디스크 시스템에서 데이터를 기다리는 동안 더 많은 파일 시스템 활동이 CPU를 방해합니다. Wa는 0이므로 이상적입니다. wa가 10보다 큰 경우가 많으면 파일 시스템 성능 조정이 필요할 수 있습니다.
2 CPU 활동 관찰
vmstat는 top보다 CPU 사용량을 더 잘 반영할 수 있습니다.
us: 사용자 프로그램이 CPU를 사용하는 시간 비율. 숫자가 클수록 사용자 프로세스가 더 바빠집니다.
sy: 시스템 호출이 CPU를 사용하는 시간의 비율입니다. NFS는 커널에서 실행되므로 NFS 활동이 차지하는 CPU 시간은 sy에 반영됩니다. 이 숫자가 매우 큰 경우가 많으면 NFS와 같은 특정 커널 프로세스가 과도한 작업을 수행하고 있는지 주의를 기울여야 합니다. us와 sy가 동시에 상대적으로 큰 경우, 서로 영향을 주지 않도록 일부 사용자 프로그램을 다른 서버로 분리하는 것을 고려해야 합니다.
id: CPU가 유휴 상태인 시간 비율입니다.
wa: CPU가 보류 중인 디스크 IO를 기다리는 시간의 비율입니다.
iostat
tty 장치, 하드 디스크 및 CD-ROM의 CPU 사용량과 I/0 양을 계산하는 데 사용됩니다.
매개변수:
-c CPU 라인만 표시
-d 디스크 라인 표시
-k 디스크 출력을 킬로바이트 단위로 표시
-t 출력에 타임스탬프 포함
-x 출력에 확장 디스크 측정항목 포함
avg-cpu: user nice sys iowait 유휴
20.25 0.18 2.61 76.39 0.57
p>iowait The 로컬 I/O를 대기할 때 CPU 유휴 시간 비율
idle 로컬 I/O를 기다리지 않을 때 CPU 유휴 시간 비율
장치: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 9.86 284.34 84.48 685407 2036
초당 전송(tps), 초당 512바이트 블록 읽기(Blk_read/s), 초당 512바이트 블록 수 쓰기(Blk_wrtn/s) 및 총 512바이트 블록 읽기(Blk_read) 및 쓰기(Blk_wrtn) 수입니다.