2017-01-23 4 views
2

MySQL 데이터베이스에서 스왑 활동을 의심하고 있습니다. 나는 "top"유틸리티를 사용하여 51MB의 스왑 만 수행했다.상단 유틸리티의 스왑 해석

그러나 최상위 유틸리티에서 "스왑"열을 활성화하면 실제로 12g의 스왑이 mysqld에서 사용되었음을 알 수 있습니다.

정확한 정보는 무엇입니까? 스왑이 발생합니까?

enter image description here

답변

2

편집 : 내가 읽은 바로는는 상단의 출력 SWAP 열은 정말 VIRT - RES입니다. 프로세스의 일부가 스왑 아웃되었다는 가정입니다. 주어진 프로세스가 얼마나 많은 스왑을 사용하고 있는지 정확하게 측정하는 것은 어렵거나 불가능합니다.

Linux 또는 /proc, 당신은 실제 사용 얻기 위해 이것을 사용할 수 있습니다 지원하는 UNIX 맛 중 하나를 경우 :

cat /proc/18810/status 

(. 18,810 당신의 mysqld 프로세스의 PID 인 경우)

실제 메모리 사용을위한 일련의 필드가 표시됩니다. 여기에 내 개발 VM에서의 mysqld 과정에서 제외하고있어 :

VmPeak: 3258116 kB 
VmSize: 3258116 kB 
VmLck: 1416344 kB 
VmHWM: 1180788 kB 
VmRSS: 1180780 kB 
VmData: 3189940 kB 
VmStk:  88 kB 
VmExe:  11608 kB 
VmLib:  7312 kB 
VmPTE:  2540 kB 
VmSwap:  0 kB 

0의 VmSwap는 현재 어떤 스왑을 사용하지 않는 것을 나타냅니다.

다른 필드에 대한 정보는 또는 man 5 proc을 참조하십시오. 매뉴얼은 부분적으로 말한다 :

  • VmSwap : 스와핑 아웃 익명의 개인 페이지로 가상 메모리 크기; shmem 스왑 사용은 포함되지 않습니다 (Linux 2.6.34 이후). 귀하의 코멘트를 다시

:

은 분명히 당신은 프로세스 별 상태에 VmSwap 필드를 포함 너무 오래된 리눅스의 버전을 사용하십시오.

/proc/meminfo을 읽고 서버에서 사용중인 총 스왑 공간을 알아낼 수는 있지만 프로세스마다 알 수는 없습니다.

스왑 활동을 감시하려면 vmstat을 실행할 수도 있습니다. "si"와 "so"필드가 0이면 괜찮습니다.

+0

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Tuning_and_Optimizing_Red_Hat_Enterprise_Linux_for_Oracle_9i_and_10g_Databases/sect-Oracle_9i_and_10g_Tuning_Guide-Swap_Space-Checking_Swap_Space_Size_and_Usage.html 내가 레드햇 리눅스에서 시저를 실행하지만 VmSwap 출력을 찾을 수 없습니다를 참조하십시오. '고양이/proc 디렉토리/18810/상태 이름 : mysqld를 주 : S (수면) SleepAVG : 92 % Tgid : 18,810 도 (Pid) : 18,810 PPID : 18,780 TracerPid : 0 UID : 501 501 501 501 기드 : 501 501 501 501 FDSize : 16384 그룹 : 501 VmSize : 101,891,248 킬로바이트 VmLck : 0 킬로바이트 VmRSS : 88,391,188 킬로바이트 VmData : 101,868,740 킬로바이트 VmStk 56 킬로바이트 VmExe : 6257 kB의 VmLib : 2,223 킬로바이트 ... ' – Haans

+0

"top의 출력에있는 SWAP 열은 스왑해야하는 경우 얼마나 많은 스왑을 사용해야하는지 보여줍니다."- 이것은 실제로 더 많은 고심을 필요로합니다 : 예를 들어 왜 12g가 84g가 아닌가? – zerkms

+0

또 다른 설명 : 스왑은 가짜 번호입니다. 단순히 'VIRT-RES'입니다. 여기에 설명 된대로 : http://stackoverflow.com/questions/479953/how-to-find-out-which-processes-are-swapping-in-linux –