>  기사  >  운영 및 유지보수  >  Linux에서 메모리를 보는 명령은 무엇입니까?

Linux에서 메모리를 보는 명령은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-08-21 13:46:386391검색

메모리 보기 명령은 자유 명령입니다. Linux free 명령은 물리적 메모리, 스왑 메모리(스왑) 및 커널 버퍼 메모리를 포함한 시스템 메모리 사용량을 표시할 수 있습니다.

Linux에서 메모리를 보는 명령은 무엇입니까?

강좌 추천: "linux 강좌"

Linux에서는 시스템 프로세스를 보기 위해 top 명령을 자주 사용하며, top은 시스템 메모리도 표시할 수 있습니다. Linux에서 콘텐츠를 보기 위해 일반적으로 사용하는 특수 도구는 free 명령입니다.

Linux에서 free로 제공되는 memory view 명령에 대한 자세한 설명:

Linux에서 메모리를 보려면 일반적으로 free 명령을 사용합니다.

$ free
             total       used       free     shared    buffers     cached
Mem:       3266180    3250004      16176          0     110652    2668236
-/+ buffers/cache:     471116    2795064
Swap:      2048276      80160    1968116

다음은 memory view free 명령의 출력에 대한 설명입니다.

  • total: 물리적 메모리의 총 크기입니다.
  • used: 얼마나 크게 사용되었는지.
  • 무료: 몇 개까지 사용할 수 있나요?
  • 공유: 여러 프로세스에서 공유하는 총 메모리 양입니다.
  • 버퍼/캐시: 디스크 캐시의 크기입니다.

세 번째 줄(-/+ 버퍼/캐시):

  • used: 얼마나 사용되었는지.
  • 무료: 몇 개까지 사용할 수 있나요?

네 번째 줄은 길게 설명할 필요가 없습니다.

-/+ 버퍼/캐시 의미와 차이점:

두 번째 줄(mem)의 사용/사용 가능 여부와 세 번째 줄(-/+ 버퍼/캐시)의 사용/사용 가능 여부의 차이는 사용 관점에 있습니다.

  • 두 번째 줄은 OS의 관점입니다. OS의 경우 버퍼/캐시됨 모두 사용되므로 +Application(X, oracle 등) 세 번째 줄은 응용 프로그램의 관점을 나타냅니다. 버퍼/캐시는 응용 프로그램이 메모리를 사용해야 할 때 성능을 향상시키기 위한 것이므로 사용 가능합니다. 버퍼/캐시는 빠르게 재활용됩니다.
  • 따라서 애플리케이션 관점에서 볼 때 사용 가능한 메모리 = 시스템 여유 메모리+버퍼+캐시됩니다.

위 예시와 같이:

2795064=16176+110652+2668236
메모리 스왑 방법

다음은 메모리 스왑 시기와 방법을 설명합니다. 사용 가능한 메모리가 정격 값보다 작으면 교체가 발생합니다. 등급 확인 방법:

cat /proc/meminfo

출력:

$ cat /proc/meminfo
MemTotal:      3266180 kB
MemFree:         17456 kB
Buffers:        111328 kB
Cached:        2664024 kB
SwapCached:          0 kB
Active:         467236 kB
Inactive:      2644928 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      3266180 kB
LowFree:         17456 kB
SwapTotal:     2048276 kB
SwapFree:      1968116 kB
Dirty:               8 kB
Writeback:           0 kB
Mapped:         345360 kB
Slab:           112344 kB
Committed_AS:   535292 kB
PageTables:       2340 kB
VmallocTotal: 536870911 kB
VmallocUsed:    272696 kB
VmallocChunk: 536598175 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB

free -m으로 본 결과:

[root@scs-2 tmp]# free -m
             total       used       free     shared    buffers     cached
Mem:          3189       3173         16          0        107       2605
-/+ buffers/cache:        460       2729
Swap:         2000         78       1921

/proc/kcore 파일 크기 보기(메모리 이미지):

$ ll -h /proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore

비고:

Measurement of cessated memory

Linux는 프로세스가 차지하는 메모리 양을 측정하는 매우 편리한 방법을 제공합니다. 실제로 top과 같은 도구도 이를 사용하여 해당 정보를 얻습니다.


/proc/meminfo 머신 메모리 사용량 정보
  • /proc/pid/maps pid는 프로세스 번호로 현재 프로세스가 점유하고 있는 가상 주소를 나타냅니다.
  • /proc/pid/statm 프로세스가 차지하는 메모리
  • $ cat /proc/self/statm
    654 57 44 0 0 334 0
출력 설명

CPU 및 CPU0. . . 각 줄에 있는 각 매개변수의 의미(첫 번째 줄을 예로 들면)는 다음과 같습니다.

매개변수 설명/proc/status

Size(페이지) 작업 가상 주소 공간의 크기 VmSize/4

Resident(페이지) 응용 프로그램이 사용하고 있는 물리적 메모리의 크기 VmRSS/4

Shared(pages) 공유된 페이지 수 0

Trs(pages) 프로그램이 소유한 실행 가능한 가상 메모리의 크기 VmExe/4

Lrs(pages) ) 작업에 매핑된 가상 메모리 공간 라이브러리의 크기 VmLib/4

Drs(페이지) 프로그램 데이터 세그먼트 및 사용자 모드 스택의 크기(VmData+ VmStk) 4

dt(페이지) 04

보기 머신의 사용 가능한 메모리

/proc/28248/> ;free

캐시된 총 사용 가능한 공유 버퍼

Mem: 1023788 926400 97388 0 134668 503688

-/+ 버퍼/캐시: 288044 735744

스왑: 1959920 8960 8 1870312

Linux 메모리 보기 및 메모리 사용량 요약:

free 명령을 통해 머신의 여유 메모리를 확인해 보면 free 값이 매우 작다는 것을 알 수 있습니다. 이는 주로 Linux에서는 메모리가 헛되이 사용되지 않는다는 생각이 있기 때문에 다음 사용을 용이하게 하기 위해 일부 데이터를 최대한 캐시하고 버퍼링하기 때문입니다. 하지만 실제로 이러한 메모리는 즉시 사용할 수 있습니다.

그래서 여유 메모리=무료+버퍼+캐시=전체 사용

관련 권장 사항: "

Linux 운영 및 유지 관리

"

위 내용은 Linux에서 메모리를 보는 명령은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.