Centos7에서 가끔 사용 가능한 값이 무료보다 낮은 이유에 대해 질문합니다.
available 값은 free+buff+cache와 같다고 생각하는데, available은 애플리케이션을 시작할 때 얼마나 많은 메모리를 사용할 수 있는지를 의미합니까?
[root@izuf6dbkdletdzecvyepl8z ~]# free -m
total used free shared buff/cache available
Mem: 992 160 380 342 451 44
Swap: 0 0 0
available
Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free
fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use
(MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)
답변1
버퍼링/캐싱은 프로세스(예: Firefox)에서 사용하는 RAM이지만 해당 프로세스가 종료되었습니다. 하지만 현재 시스템에는 해당 메모리가 실제로 필요하지 않은데 왜 메모리를 지울까요? 누군가는 Firefox 바이너리 및 관련 라이브러리를 다시 메모리로 읽고 싶어할 수 있습니다. 따라서 일부 프로세스에서 RAM이 필요할 때까지 RAM에 캐시되거나 Firefox(또는 기타) 바이너리가 다시 시작됩니다.
시스템을 다시 시작한 다음 데스크톱이 완전히 로드될 때까지 기다렸다가 Firefox, Chrome, Gimp 또는 기타 더 큰 응용 프로그램을 실행하고 소요되는 시간을 계산하여 이를 테스트할 수 있습니다. 일단 켜져 있으면 끄십시오. 1~3분 정도 기다린 후 ps
다른 유틸리티를 사용하여 실제로 더 이상 실행되지 않는지 확인하세요. 그런 다음 타이머를 시작하고 다시 시작하십시오. 훨씬 빠르죠? 이는 바이너리/라이브러리를 RAM으로 다시 읽는 대신 캐시된 RAM 영역을 "사용 중"으로 다시 표시하기 때문입니다.