MySQL 데이터베이스에서 스왑 활동을 의심하고 있습니다. 나는 "top"유틸리티를 사용하여 51MB의 스왑 만 수행했다.상단 유틸리티의 스왑 해석
그러나 최상위 유틸리티에서 "스왑"열을 활성화하면 실제로 12g의 스왑이 mysqld에서 사용되었음을 알 수 있습니다.
정확한 정보는 무엇입니까? 스왑이 발생합니까?
MySQL 데이터베이스에서 스왑 활동을 의심하고 있습니다. 나는 "top"유틸리티를 사용하여 51MB의 스왑 만 수행했다.상단 유틸리티의 스왑 해석
그러나 최상위 유틸리티에서 "스왑"열을 활성화하면 실제로 12g의 스왑이 mysqld에서 사용되었음을 알 수 있습니다.
정확한 정보는 무엇입니까? 스왑이 발생합니까?
편집 : 내가 읽은 바로는는 상단의 출력 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이면 괜찮습니다.
는
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
"top의 출력에있는 SWAP 열은 스왑해야하는 경우 얼마나 많은 스왑을 사용해야하는지 보여줍니다."- 이것은 실제로 더 많은 고심을 필요로합니다 : 예를 들어 왜 12g가 84g가 아닌가? – zerkms
또 다른 설명 : 스왑은 가짜 번호입니다. 단순히 'VIRT-RES'입니다. 여기에 설명 된대로 : http://stackoverflow.com/questions/479953/how-to-find-out-which-processes-are-swapping-in-linux –