Linux Vmstat 명령

Linux Vmstat Myeonglyeong



이 가이드에서는 Linux에서 'vmstat' 명령을 사용하는 다양한 방법을 보여줍니다.

전제 조건:

이 가이드에 설명된 단계를 수행하려면 다음 구성 요소가 필요합니다.

  • 적절하게 구성된 Linux 시스템. 테스트 목적으로, Linux VM 사용을 고려해보세요 .
  • 에 대한 액세스 sudo 권한이 있는 루트가 아닌 사용자
  • 명령줄 인터페이스에 대한 기본 이해

Linux의 가상 메모리

RAM이라고도 하는 물리적 메모리의 양은 유한합니다. 커널은 이 공간을 실행 중인 모든 프로그램에 배포하는 역할을 담당합니다. 실행 중인 모든 프로그램(OS 포함)은 RAM에 상주합니다.







그러나 메모리에 대한 수요가 사용 가능한 메모리보다 높으면 시스템이 충돌합니다(또는 프로그램이 더 많은 메모리 공간을 요구합니다). 대부분의 상황에서 이는 원하지 않는 결과입니다. 가상 메모리가 들어오는 곳입니다.



가상 메모리는 심각한 상황에서 추가 메모리 역할을 할 수 있는 HDD/SSD의 전용 디스크 공간을 의미합니다. RAM 공간 역할을 하기 때문에(실제로는 아님) '가상'으로 간주됩니다. UNIX/Linux 시스템에서는 이러한 공간을 스왑 공간이라고 합니다.



Linux 커널은 메모리 블록을 스왑 공간으로 이동하고 필요에 따라 RAM으로 다시 검색합니다.





가상 메모리의 성능은 물리적 메모리보다 확실히 느리며 저장 장치의 성능에 정비례합니다. 그러나 특정 하드웨어 구성(예: NVMe SSD 사용)에서는 성능이 RAM과 동일할 수 있습니다.

Vmstat 명령

'vmstat' 명령은 가상 메모리에 대한 다양한 정보를 보고하는 모니터링 도구입니다. 모든 Linux 시스템에서 'sysstat' 패키지의 일부로 사용할 수 있습니다.



'vmstat'의 명령 구조는 다음과 같습니다.

$ vmstat < 옵션 > < 지연 > < 세다 >

기본 사용법

매개변수 없이 실행되면 'vmstat'는 마지막 부팅 이후의 시스템 정보를 인쇄합니다.

$ vmstat

출력은 6개의 세그먼트로 배열됩니다.

  • 프로세스 : 현재 실행중인 프로세스에 대한 통계
    • 아르 자형 : 활성 프로세스 수
    • : 수면 과정의 수
  • 메모리 : 메모리 사용량 통계
    • swpd : 총 가상 메모리 양(스왑 공간)
    • 무료 : 사용 가능한 스왑 공간
    • 버프 : 임시 버퍼 메모리로 사용되는 스왑 공간의 양
    • 은닉처 : 총 캐시 메모리
  • 교환 : 스왑 공간에 대한 통계
    • : 교체 비율
    • 그래서 : 교환 비율
  • 이것 : I/O 통계
    • : 블록 장치로부터 수신된 블록 수
    • BE : 블록 장치로 전송된 블록 수
  • 체계 : 스케줄링 통계
    • ~에 : 시스템 인터럽트 횟수
    • CS : 컨텍스트 전환 비율
  • CPU : 다양한 CPU 통계
    • 우리를 : 커널이 아닌 프로세스에 대한 CPU 소비 시간
    • 그리고 : CPU가 커널 프로세스에 소비하는 시간
    • ID : CPU가 유휴 시간을 소비함
    • ~의 : I/O 작업이 완료되기를 기다리는 CPU 소비 시간
    • : 가상 머신이 사용하는 CPU 시간

디스플레이 단위 변경

기본적으로 'vmstat'는 메모리 값을 킬로바이트 단위로 보고합니다. 단위를 변경하려면 “ -에스 ' 깃발:

$ vmstat -에스 < 논쟁 >

여기서 'vmstat'는 값을 메가바이트 단위로 인쇄합니다.

사용 가능한 여러 메모리 장치가 있습니다.

  • : 1048576바이트(2^20바이트)
  • : 1000000바이트(1000킬로바이트)
  • 케이 : 1024바이트(1MB)
  • 케이 : 1000바이트(1킬로바이트)

지속적인 통계 업데이트

기본적으로 'vmstat'는 보고서를 한 번 인쇄합니다. 그러나 지정된 시간 간격(초)으로 지속적인 보고서를 제공하도록 “vmstat”에 지시할 수 있습니다.

명령 구조는 다음과 같습니다.

$ vmstat < 지연 >

예를 들어, 2초마다 업데이트된 통계를 얻으려면 명령은 다음과 같습니다.

$ vmstat 2

'Ctrl + C'를 사용하여 수동으로 종료하지 않으면 출력이 중지되지 않습니다.

또는 'vmstat'를 지정하여 특정 횟수에 대한 통계를 제공할 수 있습니다.

$ vmstat < 지연 > < 세다 >

예를 들어, 업데이트된 통계를 2초마다 5번 가져오려면 명령은 다음과 같습니다.

$ vmstat 2 5

활성 및 비활성 메모리

활성 메모리는 현재 프로세스에서 사용 중인 메모리 공간을 나타냅니다. 반면, 비활성 메모리는 더 이상 실행되지 않는 프로세스에 할당된 메모리 공간을 의미합니다.

'vmstat'를 사용하면 사용 중인 활성 메모리와 비활성 메모리의 양을 확인할 수 있습니다.

$ vmstat -ㅏ

여기서 '버프' 및 '캐시' 열은 각각 '비활성' 및 '활성' 열로 대체됩니다.

메모리와 스케줄링

메모리 및 스케줄링에 대한 더 자세한 보고서를 얻으려면 다음 명령을 사용하십시오.

$ vmstat -에스

여기:

  • 섹션 1: 이 섹션에서는 총 실제 메모리, 활성/비활성 메모리, 여유/버퍼/캐시 메모리 등과 같은 기본 시스템 정보를 다룹니다.
  • 섹션 2: 다양한 CPU 통계
    • 좋지 않은 CPU 틱 : 우선순위가 높은 프로세스가 CPU를 사용한 횟수입니다.
    • 좋은 CPU 틱 : 우선 순위가 낮은 프로세스가 CPU를 사용한 횟수입니다.
    • 시스템 CPU 틱 : 커널 프로세스가 CPU를 사용한 횟수입니다.
    • 유휴 CPU 틱 : CPU가 유휴 상태인 횟수입니다.
    • IO 대기 CPU 틱 : CPU가 I/O 관리를 기다리는 횟수입니다.
    • IRQ : CPU가 인터럽트 요청을 받은 횟수입니다.
    • 소프트디르크 : CPU가 소프트웨어 인터럽트 요청을 수신한 횟수입니다.
    • 도난당한 CPU 틱 : VM이 CPU 시간을 훔친 횟수입니다.
  • 섹션 3: 메모리 페이징 통계
  • 섹션 4: 이벤트 카운터

부팅 이후 포크

포크는 기존 프로세스에 의해 생성된 프로세스를 나타냅니다. 포크 수에 대한 통계를 얻으려면 다음 명령을 실행하십시오.

$ vmstat -에프

디스크 및 파티션 통계

'vmstat' 명령은 디스크 활동에 대한 정보도 제공할 수 있습니다. 디스크 활동에 대한 빠른 요약을 얻으려면 다음 명령을 실행하십시오.

$ vmstat -디

보다 자세한 디스크 활동 보고서(읽기/쓰기 통계 포함)를 얻으려면 대신 다음 명령을 사용하십시오.

$ vmstat -디

여기:

  • 읽기
    • : 총 디스크 읽기 횟수
    • 병합된 : 총 그룹 읽기 횟수
    • 부문 : 읽은 총 섹터 수
    • ms : 디스크에서 데이터를 읽는 데 걸린 총 시간(밀리초)
  • 쓰기
    • : 총 디스크 쓰기 횟수
    • 병합된 : 총 그룹 쓰기 수
    • 부문 : 쓴 총 섹터 수
    • ms : 디스크에 쓰는 총 시간(밀리초)
  • IO
    • 놓다 : 현재 총 디스크 읽기/쓰기 수
    • 비서 : 진행 중인 읽기/쓰기 작업에 소요된 시간(초)

'vmstat' 명령은 특정 디스크 파티션에 대한 보고서를 생성할 수도 있습니다. 파티션 보고서를 얻으려면 다음 명령 구조를 사용하십시오.

$ vmstat -피 < 파티션_식별자 >

슬래브 통계

슬랩 할당은 객체의 메모리 할당을 위한 효율적인 메커니즘으로 설계되었습니다. 이전 메커니즘과 비교하여 슬랩 할당은 메모리 조각화(메모리 할당 및 할당 해제로 인해 발생)를 줄입니다.

시스템의 슬래브 통계를 확인하려면 다음 'vmstat' 명령을 사용하십시오.

$ sudo vmstat -중

통계를 보려면 루트 권한이 필요합니다.

여기:

  • 은닉처 : 캐시된 데이터의 이름
  • 하나에 : Num 캐시에서 활성화된 개체 수
  • : 특정 캐시에 있는 총 개체 수
  • 크기 : 캐시된 객체의 크기
  • 페이지 : 캐시된 객체를 포함하는 메모리 페이지 수

결론

이 가이드에서는 'vmstat' 명령을 사용하는 다양한 방법을 보여주었습니다. 가상 메모리 외에도 'vmstat'는 디스크 통계, 포크, 슬래브 등에 대해 보고할 수도 있습니다.

다른 시스템 모니터링 도구에 대해 알아보고 싶으십니까? 자세히 알아보기 htop , 죽이다 , 추신 , 등.

즐거운 컴퓨팅!