나는 그것을 이해하지 못한다. 이것을 보여줄 때 free -m
:
total used free shared buffers cached
Mem: 15334 14025 1308 0 258 10918
-/+ buffers/cache: 2848 12485
Swap: 953 0 953
이는 행 1에 1.4GB의 여유 공간이 있다는 뜻인가요, 아니면 행 2에 12GB의 여유 공간이 있다는 의미인가요?
Linux + Nginx + php-fpm + Mysql + Memcached가 있습니다.
편집하다:
1.3GB가 사용되지 않은 여유 메모리라는 것을 알고 있지만 버퍼 사용량을 제거하면 실제로 vps에 12GB의 여유 메모리가 있습니다. 이는 내 vps에 필요한 것보다 16GB가 더 많고 12GB를 사용할 수 있기 때문에 큰 컴퓨터에 낭비하고 있다는 의미입니까? 아니면 1행을 보면 버퍼가 많은 메모리를 사용하고 있다고 가정하고 있습니까? 이는 버퍼 사용이 더 빠른 응답을 의미하므로 내 컴퓨터가 여전히 많은 메모리의 이점을 누리고 있음을 의미합니까?
답변1
첫 번째 행은 데이터 캐싱 또는 I/O 버퍼링에 사용되는 메모리 부분을 고려(추가)한 메모리 cache
사용량을 보여줍니다.buffers
반면, 두 번째 행은 및 를 고려(공제)하지 않은 cache
메모리 사용량을 나타냅니다 buffers
.
이제 새 프로세스에 첫 번째 줄에 표시된 것보다 더 많은 메모리가 필요한지 궁금할 것입니다. 즉, 최신 프로세스를 위한 공간을 확보하기 위해 cache/buffers
이 캐시에서 가장 오래된 데이터가 지워진다는 점을 고려하면 됩니다. cache
따라서 캐시/버퍼링이 차지하는 엄청난 공간에 대해 걱정할 필요가 없습니다.
편집자에게 답장:
캐시가 많을수록 응답 속도가 빨라집니다. 그래서, 그것이 당신을 완전히 짜증나게 하지 않는 한, 당신은 그 일을 꽤 잘합니다.
답변2
맨 페이지를 무료로 확인하는 것이 좋습니다(아래 발췌 참조).
# man free
NAME
free - Display amount of free and used memory in the system
SYNOPSIS
free [options]
DESCRIPTION
free displays the total amount of free and used physical and swap memory in the system, as well as the buffers and caches used by the kernel. The information is gath‐
ered by parsing /proc/meminfo. The displayed columns are:
total Total installed memory (MemTotal and SwapTotal in /proc/meminfo)
used Used memory (calculated as total - free)
free Unused memory (MemFree and SwapFree in /proc/meminfo)
shared Memory used (mostly) by tmpfs (Shmem in /proc/meminfo, available on kernels 2.6.32, displayed as zero if not available)
buffers
Memory used by kernel buffers (Buffers in /proc/meminfo)
cached Memory used by the page cache (calculated as Cached - Shmem in /proc/meminfo - the Cached value is actually the sum of page cache and tmpfs memory)