>  기사  >  시스템 튜토리얼  >  Linux 메모리 모니터링: 시스템 실행 상태를 실시간으로 이해합니다.

Linux 메모리 모니터링: 시스템 실행 상태를 실시간으로 이해합니다.

王林
王林앞으로
2024-02-09 20:33:20484검색

빠른 정보화 시대인 오늘날, 서버 시스템의 안정성이 점점 더 주목받고 있습니다. 서버의 핵심 부분인 메모리는 시스템 성능 문제로 인해 병목 현상이 발생하는 경우가 많습니다. 이 경우 메모리 사용량을 실시간으로 모니터링하는 것은 시스템 안정성과 성능을 보장하는 데 중요한 역할을 합니다. 이 기사에서는 Linux 시스템에서 메모리 사용량을 모니터링하는 방법과 몇 가지 실용적인 명령을 사용하여 시스템의 실행 상태를 실시간으로 이해하는 방법을 소개합니다.

Ubuntu 18.04 서버 플랫폼[1]에서 시연할 예정이지만 선택한 배포판에서 사용 가능한 모든 명령을 찾아야 합니다. 더 좋은 점은 아무것도 설치할 필요가 없다는 것입니다(이러한 도구의 대부분은 Linux 시스템에 포함되어 있기 때문입니다).

그렇다면 일을 시작합시다.

가장 일반적으로 사용되는 도구부터 시작하고 싶습니다. top 명령은 실행 중인 시스템에 대한 실시간 동적 보기를 제공하며 각 프로세스의 메모리 사용량을 확인합니다. 이는 동일한 명령이 서로 다른 양의 메모리를 소비하는 여러 예를 쉽게 볼 수 있기 때문에 중요합니다. 모니터가 없는 서버에서는 이를 볼 수 없지만 Chrome을 열면 시스템 속도가 느려지는 것을 발견했습니다. top 명령을 실행하여 Chrome에 여러 프로세스가 실행되고 있는지 확인합니다(각 탭에 하나씩 – 그림 1).

Linux 内存监控:实时掌握系统运行状态

그림 1: 여러 Chrome 프로세스가 상단 명령에 나타납니다.

Chrome은 여러 프로세스를 보여주는 유일한 앱이 아닙니다. 그림 1에 Firefox가 보이나요? 이것이 Firefox의 주요 프로세스이고 웹 콘텐츠 프로세스는 열린 탭입니다. 출력 상단에 시스템 통계가 표시됩니다. 내 컴퓨터(System76 Leopard Extreme[2])에는 총 16GB의 사용 가능한 RAM이 있으며 그 중 10GB가 조금 넘는 양이 사용되고 있습니다. 그런 다음 목록을 정렬하여 각 프로세스가 사용하는 메모리 비율을 확인할 수 있습니다.

top의 가장 좋은 점 중 하나는 통제할 수 없는 서비스의 프로세스 ID 번호(PID)를 발견하는 것입니다. 이러한 PID를 사용하면 문제가 있는 작업을 해결(또는 종료)할 수 있습니다.

top이 보다 친숙한 메모리 정보를 표시하려면 top -o %MEM 명령을 사용하세요. 그러면 top이 프로세스에서 사용하는 메모리를 기준으로 모든 프로세스를 정렬하게 됩니다(그림 2).

Linux 内存监控:实时掌握系统运行状态

그림 2: 최상위 명령에서 메모리 사용량을 기준으로 프로세스 정렬

top 명령은 사용된 스왑 공간의 양에 대한 실시간 업데이트도 제공합니다.

무료

그러나 때로는 top 명령이 귀하의 요구 사항을 충족하지 못할 수도 있습니다. 시스템의 사용 가능한 메모리와 사용된 메모리를 살펴보고 싶을 수도 있습니다. 이를 위해 Linux에는 free 명령도 있습니다. 무료 명령은 다음을 표시합니다:

  • 사용 가능하고 사용된 총 물리적 메모리 양
  • 시스템의 총 스왑 메모리 양
  • 커널
  • 에서 사용하는 버퍼와 캐시

터미널 창에서 free 명령을 입력하세요. 출력은 실시간이 아니며 대신 현재 사용 가능한 메모리와 사용된 메모리의 즉각적인 스냅샷을 얻습니다(그림 3).

Linux 内存监控:实时掌握系统运行状态

그림 3: free 명령의 출력은 간단하고 명확합니다.

물론 free -m과 같이 -m 옵션을 추가하여 free를 좀 더 친근하게 표시할 수 있습니다. 그러면 메모리 사용량이 MB 단위로 표시됩니다(그림 4).

Linux 内存监控:实时掌握系统运行状态

그림 4: 더 읽기 쉬운 형식의 free 명령 출력.

물론, 시스템이 매우 새로운 경우에는 free -g와 같은 -g 옵션(GB 단위)을 사용하는 것이 좋습니다.

총 메모리를 알아야 하는 경우 free -mt와 같은 -t 옵션을 추가할 수 있습니다. 그러면 각 열의 총 메모리 양이 간단히 계산됩니다(그림 5).

Linux 内存监控:实时掌握系统运行状态

그림 5: 여유 메모리 열을 제공합니다.

vmstat

또 다른 매우 편리한 도구는 vmstat입니다. 이 특정 명령은 가상 메모리 통계를 보고하기 위한 약간의 트릭입니다. vmstat 명령은 다음에 대해 보고합니다.

  • 프로세스
  • 추억
  • 페이지 매김
  • IO 차단
  • 방해
  • 디스크
  • CPU

vmstat를 사용하는 가장 좋은 방법은 vmstat -s처럼 -s 옵션을 사용하는 것입니다. 그러면 단일 열에 통계가 보고됩니다(기본 보고서보다 읽기 쉽습니다). vmstat 명령은 필요한 것보다 더 많은 정보를 제공하지만(그림 6), 항상 더 많은 정보가 더 좋습니다(이 경우).

Linux 内存监控:实时掌握系统运行状态

그림 6: vmstat 명령을 사용하여 메모리 사용량을 확인합니다.

dmidecode

설치된 시스템 메모리에 대한 자세한 정보를 찾고 싶다면 어떻게 해야 하나요? 이렇게 하려면 dmidecode 명령을 사용할 수 있습니다. 이 특정 도구는 시스템의 DMI 테이블 내용을 사람이 읽을 수 있는 형식으로 덤프하는 DMI 테이블 디코더입니다. DMI 테이블이 무엇인지 확실하지 않은 경우 시스템 구성(및 그 발전)을 설명하는 데 사용할 수 있습니다.

dmidecode 명령을 실행하려면 sudo 권한이 필요합니다. 따라서 sudo dmidecode -t 17 명령을 입력하십시오. 이 명령의 출력(그림 7)은 모든 메모리 유형 장치에 대한 정보를 표시하므로 매우 길 수 있습니다. 따라서 위아래로 스크롤할 수 없는 경우 해당 명령의 출력을 sudo dmidecode -t 17> dmi_infoI와 같은 파일로 보내거나 sudo dmidecode | less와 같은 less 명령에 전달해야 할 수 있습니다.

Linux 内存监控:实时掌握系统运行状态

그림 7: dmidecode 명령의 출력.

/proc/meminfo

"이 명령은 어디서 이 정보를 가져오는가?"라고 자문할 수도 있습니다. 어떤 경우에는 /proc/meminfo 파일에서 정보를 가져옵니다. 짐작하셨나요? less /proc/meminfo 명령을 사용하여 이 파일을 직접 읽을 수 있습니다. less 명령을 사용하면 긴 출력을 위아래로 스크롤하여 필요한 내용을 정확하게 찾을 수 있습니다(그림 8).

Linux 内存监控:实时掌握系统运行状态

그림 8: less /proc/meminfo 명령의 출력.

/proc/meminfo에 대해 알아야 할 사항: 이것은 실제 파일이 아닙니다. 대조적으로 /proc/meminfo는 시스템에 대한 실시간 동적 정보를 포함하는 가상 파일입니다. 특히 다음 값을 확인해야 합니다.

  • 모든 메모리(MemTotal)
  • 여유 메모리(MemFree)
  • 사용 가능한 메모리(MemAvailable)
  • 버퍼
  • 파일 캐시(캐시됨)
  • SwapCached
  • 모든 거래소 지역 (SwapTotal)
  • 무료 스왑 영역 (SwapFree)

/proc/meminfo를 사용하려면 egrep 명령을 연결하여 사용할 수 있습니다: egrep –color'Mem | Cache'/proc/meminfo. 이렇게 하면 Mem, Cache 및 Swap과 같은 항목에 색상이 지정된 읽기 쉬운 목록이 생성됩니다(그림 9).

Linux 内存监控:实时掌握系统运行状态

그림 9: /proc/meminfo를 읽기 쉽게 만들기.

개인용 컴퓨터이든 서버 시스템이든 메모리 사용은 필수이므로 사용 시 주의가 필요합니다. 이 기사에서는 Linux 시스템에서 메모리를 모니터링하고 관리하기 위한 몇 가지 실용적인 명령을 소개합니다. 이를 통해 시스템의 실행 상태를 실시간으로 파악하고 메모리 문제로 인한 시스템 가동 중지 시간이나 기타 오류를 효과적으로 방지할 수 있습니다. 장치의 안전과 성능을 보장하기 위해 이러한 명령을 깊이 이해하고 숙지합시다.

위 내용은 Linux 메모리 모니터링: 시스템 실행 상태를 실시간으로 이해합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제