linux view memory 명령
Linux에서는 시스템 프로세스를 보기 위해 top 명령을 자주 사용하며, top은 시스템 메모리도 표시할 수 있습니다. Linux에서 콘텐츠를 보기 위해 일반적으로 사용하는 특수 도구는 free 명령입니다.
추천: "Linux Tutorial"
Linux에서 메모리를 보기 위한 free 명령에 대한 자세한 설명:
우리는 일반적으로 Linux에서 메모리를 보기 위해 free 명령을 사용합니다.
$ free total used free shared buffers cached Mem: 3266180 3250004 16176 0 110652 2668236 -/+ buffers/cache: 471116 2795064 Swap: 2048276 80160 1968116
다음은 다음의 출력입니다. 메모리를 보기 위한 free 명령 설명:
total: 총 물리적 메모리 크기입니다.
used: 얼마나 크게 사용되었는지.
무료: 몇 개까지 사용할 수 있나요?
공유: 여러 프로세스에서 공유하는 총 메모리 양입니다.
버퍼/캐시: 디스크 캐시의 크기입니다.
세 번째 줄(-/+ 버퍼/캐시):
used: 사용된 양입니다.
무료: 몇 개까지 사용할 수 있나요?
네 번째 줄은 길게 설명할 필요가 없습니다.
-/+ 버퍼/캐시 의미와 차이점:
두 번째 줄(mem)의 사용/사용 가능 여부와 세 번째 줄(-/+ 버퍼/캐시)의 사용/사용 가능 여부의 차이는 사용 관점에 있습니다.
두 번째 줄은 OS의 경우 버퍼/캐시를 모두 사용하기 때문에 +Application(X , oracle 등)은 +buffers+cached를 사용합니다.
세 번째 줄은 애플리케이션 관점에서 볼 때, 애플리케이션의 경우 buffers/cached는 available과 동일합니다. 왜냐하면 buffer/cached는 파일 읽기 성능을 향상시키기 위한 것이기 때문입니다. 애플리케이션은 메모리를 사용해야 하며 버퍼/캐시된 내용은 빠르게 재활용됩니다.
따라서 애플리케이션 관점에서 볼 때 사용 가능한 메모리 = 시스템 여유 메모리+버퍼+캐시된 메모리입니다.
위의 예와 같이:
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 cessed memory
Linux는 프로세스가 차지하는 메모리 양을 측정하는 매우 편리한 방법을 제공합니다. 실제로 /proc 디렉토리는 해당 정보를 얻기 위해 이를 사용합니다.
/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 (pages) 任务虚拟地址空间的大小 VmSize/4 Resident(pages) 应用程序正在使用的物理内存的大小 VmRSS/4 Shared(pages) 共享页数 0 Trs(pages) 程序所拥有的可执行虚拟内存的大小 VmExe/4 Lrs(pages) 被映像到任务的虚拟内存空间的库的大小 VmLib/4 Drs(pages) 程序数据段和用户态的栈的大小 (VmData+ VmStk )4 dt(pages) 04
머신의 사용 가능한 메모리 보기
/proc/28248/>free total used free shared buffers cached Mem: 1023788 926400 97388 0 134668 503688 -/+ buffers/cache: 288044 735744 Swap: 1959920 89608 1870312
Linux의 메모리 및 메모리 사용량 요약 보기:
free 명령을 사용하여 머신의 메모리 사용량을 볼 때 free 메모리를 사용하면 free를 찾을 수 있습니다. 값은 매우 작습니다. 이는 주로 Linux에서는 메모리가 헛되이 사용되지 않는다는 생각이 있기 때문에 다음 사용을 용이하게 하기 위해 일부 데이터를 최대한 캐시하고 버퍼링하기 때문입니다. 하지만 실제로 이러한 메모리는 즉시 사용할 수 있습니다.
그래서 여유 메모리 = free+buffers+cached=total-used
더 많은 프로그래밍 관련 내용은 PHP 중국어 홈페이지프로그래밍 입문 칼럼을 주목해주세요!
위 내용은 Linux view memory 명령에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!