무료 보고서는 가짜 스왑 금액을 사용했습니다.

무료 보고서는 가짜 스왑 금액을 사용했습니다.

무료로 보고된 스왑 사용률이 매우 높습니다.

[root@rhel6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          9892       9537        354          0         71        884
-/+ buffers/cache:       8581       1310 
Swap:          767 1759218592     116869 

좋다,정말높은.

[root@bb14 blackboard]# free -g|grep Swap
Swap:            0 1717986906        114 

아니면 그럴까요?

[root@bb14 blackboard]# free -h |grep Swap
Swap:         767M       767M       114G 

더 이상한 점은 스왑을 비활성화하더라도 숫자가 여전히 높게 유지된다는 것입니다.

[root@rhel6 ~]# swapoff -a
[root@rhel6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          9892       9760        131          0         45        638
-/+ buffers/cache:       9076        815 
Swap:            0 1759218592     116814 

swaptotal보다 swapfree가 더 높게 표시되는 meminfo를 확인할 때 상황이 덜 혼란스러워지지 않습니다.

[root@rhel6 ~]# cat /proc/meminfo|grep Swap
SwapCached:            0 kB
SwapTotal:        786428 kB
SwapFree:       120404008 kB

분명히 뭔가 불안정하고 첫 번째 본능은 재부팅하는 것이지만 이것은 유지 관리 기간 등을 의미하는 프로덕션 시스템이므로 무엇이 잘못되었는지 찾아 가동 중지 시간 없이 수정할 수 있는 방법이 있는지 궁금합니다.

답변1

해결책은 다음으로 업그레이드하는 것이었습니다.커널-2.6.32-573.7.1.el6또는 더 높게.

간단 yum update하고 재부팅만 하면 됩니다.

아래는 버그 보고서의 인용문입니다.커널-2.6.32-573.1.1.el6.x86_64이로 인해 스왑 여유 금액이 스왑 총 금액보다 커졌습니다.

get_swap_page() 잠금의 이전 변경으로 인해 swap_lock 스핀록의 사용이 제거되었습니다. 이로 인해 nr_swap_pages가 손상되고 /proc/meminfo 파일에서 잘못된 SwapFree 정보가 발생할 수 있으며, 여기서 SwapFree의 크기는 SwapTotal의 크기를 초과할 수 있습니다. 이 업데이트는 nr_swap_pages에 대한 원자 변수를 사용하며 이제 /proc/meminfo의 SwapFree 크기가 정확합니다. (BZ#1259362)

답변2

이는 kernel-2.6.32-573.1.1.el6.x86_64가 개인 버그질라에서 추적되는 RHEL6.7의 알려진 문제인 것 같습니다.

https://access.redhat.com/solutions/1571043

관련 정보