Linux IO 문제
최근에 비정상적인 리눅스 서버, 꽤 느 렸고 많은 프로그램이
응답이 중단되었습니다.. 이틀 동안 명백한, 우리는 부하가 너무
높은 주된 이유는 디스크 I / O가 100%.
이 기사는 디스크로드를 확인하는 방법을 보여줍니다., 같은 문제를 더 빨리 해결하기 위해.
첫째로, 실행하다 상단 명령.
상단 – 16:15:05 쪽으로 6 일, 6:25, 2 사용자, 부하 평균: 1.45, 1.77, 2.14
과제: 147 합계, 1 달리는, 146 자고, 0 중지, 0 좀비
CPU(에스): 0.2% 우리, 0.2% 그의, 0.0% ni, 86.9% 신분증, 12.6% wa, 0.0% 안녕하세요, 0.0% 과
Mem: 4037872k 총, 4003648k 사용, 34224k 무료, 5512k 버퍼
교환: 7164948k 총, 629192k 사용, 6535756k 무료, 3511184k 캐시 됨
찾을 수 있습니다 “12.6%” wa easily,wa가보다 크다고 생각되면 30%, 높은 IO로드를 표시합니다..
둘째, 당신은 실행할 수 있습니다 “iostat -x 1 10”
그러나 다음을 실행하여 iostat를 설치해야합니다. “yum 설치 sysstat” iostat 인 경우
찾을 수 없다.
평균 CPU: %사용자 % nice % sys % iowait % idle
0.00 0.00 0.25 33.46 66.29
장치: rrqm / s wrqm / s r / s w / s rsec / s wsec / s rkB / s wkB / s avgrq-sz avgqu-sz await svctm % util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
util % 확인 100.10 %게으른 66.29
만약 “%유능한” 닫혀있다 100%,I / O 요청이 너무 많음을 의미합니다.,I / O에 이미 전체로드가 있습니다. ,
스토리지 시스템의 병목 현상이있을 수 있습니다..
유휴 상태가 equel 인 경우 70% ,이것은 IO stess가 높음을 나타냅니다., 많은 기다림이 있습니다.
당신은 통신 할 수 있습니다
디스크의 I / O 성능을 테스트해야하는 경우 ,다음 명령을 실행할 수 있습니다
시간 dd if = / dev / zero bs = 1M count = 2048 of = direct_2G
이 명령은 현재 디렉토리에 2GB 크기의 파일을 생성 할 수 있습니다., I / O를 테스트 할 수 있습니다.
파일 생성 중로드.
다음 스크립트는 사용량이 많을 때 I / O 상태를 확인할 수 있습니다..
monitor_io_stats.sh
#!/bin / sh
/etc / init.d / syslog 중지
에코 1 > /proc / sys / vm / block_dump
자다 60
dmesg | awk‘/(읽다|쓰다|더러운)/ {방법[$1]++} 종료 {...에 대한 (x 진행 중) \
인쇄 과정[엑스],엑스}’ |정렬 안함 |awk‘{인쇄 $2 ” ” $1}’ | \
머리 -n 10
에코 0 > /proc / sys / vm / block_dump
/etc / init.d / syslog 시작
소스 URL http://www.cnblogs.com/mfryf/archive/2012/03/12/2392012.html