>  기사  >  운영 및 유지보수  >  Linux view memory 명령에 대한 자세한 설명

Linux view memory 명령에 대한 자세한 설명

藏色散人
藏色散人원래의
2020-03-03 09:45:2811793검색

Linux view memory 명령에 대한 자세한 설명

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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