
우분투 서버의 메모리 사용량을 모니터링하려고 합니다. 'top' 명령을 실행하면 메모리의 70%가 사용된 것으로 표시됩니다. ('Mem:' 줄에 표시됨) 하지만 내 메모리 사용량을 가져와 합산하는 프로세스를 찾고 싶습니다. 70%와는 거리가 멀습니다. 누구든지 나에게 설명을 도와줄 수 있나요?
정말 감사합니다!
내 최고 명령 결과는 다음과 같습니다.
상단 - 20:59:06 최대 23일, 33분, 사용자 3명, 로드 평균: 0.06, 0.12, 0.09 작업: 총 92개, 실행 중 1개, 수면 91개, 정지 0개, 좀비 0개 CPU: 0.3%us, 0.2%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 메모리: 총 4124236k, 사용된 2903104k, 사용 가능한 1221132k, 버퍼 147508k 스왑: 총 4192252k, 사용된 440k, 무료 4191812k, 캐시된 2596860k PID 사용자 PR NI VIRT RES SHR S %CPU %MEM TIME+ 명령 30558 mysql 20 0 311m 36m 5956 S 0 0.9 0:00.74 mysqld 28848 jiechao 20 0 50688 9244 3144 S 0 0.2 0:05.65 파이썬 956 루트 20 0 11712 8004 2964 S 0 0.2 0:39.26 ddclient - slee 28846 jiechao 20 0 49256 7652 3280 S 0 0.2 0:07.17 파이썬 22284 지에차오 20 0 10400 6876 1664 S 0 0.2 0:00.49 bash 30433 지에차오 20 0 10344 6776 1620 S 0 0.2 0:00.46 bash 31053 지에차오 20 0 10344 6768 1612 S 0 0.2 0:00.47 bash 28847 jiechao 20 0 48168 6096 2980 S 0 0.1 0:00.59 파이썬 29178 www-데이터 20 0 228m 5392 2052 S 0 0.1 0:00.06 apache2 29179 www-데이터 20 0 12796 5148 1920 S 0 0.1 0:00.02 apache2 29180 www-데이터 20 0 12796 5148 1920 S 0 0.1 0:00.02 apache2 29181 www-데이터 20 0 12796 5148 1920 S 0 0.1 0:00.02 apache2 29182 www-데이터 20 0 12796 5148 1920 S 0 0.1 0:00.02 apache2 29183 www-데이터 20 0 12796 5148 1920 S 0 0.1 0:00.02 apache2 999 루트 20 0 11396 3948 2052 S 0 0.1 0:21.21 아파치2 926 웁시 20 0 24572 3284 2280 S 0 0.1 0:00.18 웁시 30933 루트 20 0 9604 3104 2484 S 0 0.1 0:00.00 sshd 22164 루트 20 0 9604 3096 2484 S 0 0.1 0:00.01 sshd 30313 루트 20 0 9604 3096 2480 S 0 0.1 0:00.00 sshd 24302 루트 20 0 9632 3024 2428 S 0 0.1 0:00.07 sshd 787 루트 20 0 6664 2424 1988 S 0 0.1 0:00.05 sshd 1 루트 20 0 3504 1876 1276 S 0 0.0 0:01.57 초기화 24421 제차오 20 0 9632 1596 992 S 0 0.0 0:00.00 sshd 812 syslog 20 0 31044 1484 1008 S 0 0.0 1:47.00 rsyslogd
답변1
물론 그 숫자는 프로세스와 버퍼, 파일 캐시에서 사용되는 RAM의 조합입니다. Linux에는 이러한 파일을 위해 하드 드라이브를 사용하는 대신 액세스되는 파일에 대해 RAM 사용을 최대화한다는 철학이 있습니다.
명령을 사용하거나 free
이 명령을 통해 커널 자체를 살펴보십시오.cat /proc/meminfo.
무료
% free
total used free shared buffers cached
Mem: 7987492 7717152 270340 0 314644 2435048
-/+ buffers/cache: 4967460 3020032
Swap: 5963772 1304 5962468
고양이 /proc/meminfo
% cat /proc/meminfo
MemTotal: 7987492 kB
MemFree: 284328 kB
Buffers: 314384 kB
Cached: 2427852 kB
SwapCached: 116 kB
Active: 4698232 kB
Inactive: 2374796 kB
Active(anon): 3756264 kB
Inactive(anon): 768392 kB
Active(file): 941968 kB
Inactive(file): 1606404 kB
Unevictable: 68 kB
Mlocked: 68 kB
SwapTotal: 5963772 kB
SwapFree: 5962468 kB
Dirty: 452 kB
Writeback: 0 kB
AnonPages: 4330964 kB
Mapped: 185540 kB
Shmem: 193864 kB
Slab: 306532 kB
SReclaimable: 261520 kB
SUnreclaim: 45012 kB
KernelStack: 6192 kB
PageTables: 94376 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 9957516 kB
Committed_AS: 9671884 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 585392 kB
VmallocChunk: 34359040964 kB
HardwareCorrupted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 12288 kB
DirectMap2M: 8237056 kB
이 free
명령은 총 RAM인 7987492를 표시합니다. 제 경우에는 그 중 7717152가 사용되고 270340은 무료입니다. 이는 RAM, 버퍼 및 캐시의 조합입니다. 두 번째 줄은 버퍼와 캐시에서 사용되는 RAM의 양(4967460)을 보여줍니다. 즉, 실제로 3020032의 RAM이 사용 가능하다는 의미입니다.
에서itworld.com 기사메모리 사용량을 이해하는 방법:
버퍼 번호는 커널이 파일의 내용을 읽어야 하는 경우와 같이 커널이 디스크에 액세스함으로써 발생하는 메모리 내 블록을 나타냅니다. 캐시된 수치는 최근 읽은 파일의 콘텐츠를 캐시하는 데 사용되는 RAM의 양을 알려줍니다. 파일 시스템 계층을 우회하면 버퍼 수치가 증가하고 파일 시스템을 사용하면 캐시가 증가합니다. 읽기 작업이 증가하면 둘 다 증가합니다.
메모:Linux 커널의 메모리 관리자는 버퍼 및 캐시에 사용되는 모든 RAM을 해제하며 애플리케이션에 실제로 필요한 RAM을 확보합니다.
자원