free -m
total used free shared buffers cached
Mem: 15708 15539 168 124 6 6272
-/+ buffers/cache: 9260 6447
Swap: 0 1759218604 0
sysctl vm.swappiness
vm.swappiness = 0
grep Swap /proc/meminfo
SwapCached: 0 kB
SwapTotal: 0 kB
SwapFree: 36 kB
스와핑을 비활성화하기 위해 vm.swappiness=0을 설정했지만 출력에는 free -m
스왑 캐시가 사용되었다는 메시지가 표시되는데 1759218604
이는 매우 큰 수치입니다. 사용된 스왑 메모리는 0이어야 한다고 생각합니다. 왜 0이 아닌가?
센토스 버전: 6.7, 리눅스 커널: 2.6
답변1
이는 매우 오래된 RHEL/CentOS 6 커널 버그이므로 kernel-2.6.32-573.6.1.el6(또는 그 이상)으로 업데이트해야 합니다. 이것 좀 봐RH 고객 포털 기사(RH 계정 필요) 그리고 이것은서버 장애에 대한 질문자세한 내용은.
시스템 업그레이드도 권장합니다.CentOS 6은 더 이상 지원되지 않습니다.6.7은 최신 마이너 버전도 아닙니다(마지막 버전은 6.10이었습니다).
답변2
시스템이 스왑을 사용하고 있지 않습니다.
커널은 사용된 스왑량을 직접 추적하지 않으므로 free
총 스왑량과 사용 가능한 스왑량의 차이로 계산됩니다. 어떤 이유로 (참조보이텍의 답변), 시스템 커널은 총 0k 중 36k의 사용 가능한 스왑 공간이 있다고 생각하므로 free
-36k의 사용된 스왑 공간이 있다고 계산합니다. 그러나 부호 없는 값으로 저장되므로 큰 정수(지정한 이후 1024로 스케일링됨 -m
)로 끝납니다.