저는 그래픽 SSH 클라이언트(securessh)를 사용하여 Linux 서버(가상 머신으로 설치됨)에 로그인합니다. 서버는 tomcat5.5 서버를 실행합니다.관계설치되었습니다.
명령을 입력하거나 작은 파일(약 5-6MB)을 삭제/복사할 때 쉘이 응답하는 데 오랜 시간이 걸립니다(10초에서 거의 1분까지). top
메모리/CPU 시간을 많이 사용하는 프로세스가 있는지 확인하기 위해 실행을 시도했습니다 .
top - 13:34:41 up 86 days, 16:04, 1 user, load average: 2.13, 0.99, 1.94
Tasks: 63 total, 1 running, 62 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.0%us, 1.5%sy, 0.0%ni, 96.2%id, 0.2%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 3896416k total, 3097824k used, 798592k free, 167180k buffers
Swap: 915664k total, 84k used, 915580k free, 2409236k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20436 tomcat55 20 0 359m 217m 13m S 18 5.7 2713:04 jsvc
tomcat55 사용자만이 많은 리소스를 사용합니다. 위의 출력에 따르면 이 사용자는 메모리의 5.7%와 CPU의 5.7%만을 소비하고 있는 것으로 보입니다. 제가 top
출력을 잘못 읽었나요? CPU 및 메모리 사용률이 너무 낮은 경우 시스템 성능이 그토록 저하되는 이유는 무엇입니까?
편집하다:이제 실행하여 다음을 얻으려고 합니다.
ATOP - repository 2011/09/20 16:08:48 10 seconds elapsed
PRC | sys 0.17s | user 0.03s | #proc 64 | #zombie 0 | #exit 4 |
CPU | sys 2% | user 1% | irq 0% | idle 198% | wait 0% |
cpu | sys 1% | user 1% | irq 0% | idle 98% | cpu001 w 0% |
cpu | sys 0% | user 0% | irq 0% | idle 99% | cpu000 w 0% |
CPL | avg1 0.05 | avg5 0.92 | avg15 1.29 | csw 976 | intr 61 |
MEM | tot 3.7G | free 656.7M | cache 2.4G | buff 170.9M | slab 241.3M |
SWP | tot 894.2M | free 894.1M | | vmcom 781.9M | vmlim 2.7G |
DSK | sda | busy 0% | read 0 | write 9 | avio 0 ms |
NET | transport | tcpi 18 | tcpo 26 | udpi 0 | udpo 0 |
NET | network | ipi 22 | ipo 26 | ipfrw 0 | deliv 22 |
NET | eth1 0% | pcki 34 | pcko 26 | si 2 Kbps | so 11 Kbps |
PID SYSCPU USRCPU VGROW RGROW RDDSK WRDSK ST EXC S CPU CMD 1/1
4687 0.06s 0.02s 0K 0K - - NE 0 E 1% <lsb_release>
4689 0.04s 0.01s 0K 0K - - NE 0 E 1% <apt-cache>
4684 0.04s 0.00s 132K 132K 0K 0K -- - R 0% atop
4673 0.02s 0.00s 0K 0K 0K 0K -- - S 0% sshd
4152 0.01s 0.00s 0K 0K 0K 0K -- - S 0% vmware-guestd
2302 0.00s 0.00s 0K 0K 0K 4K -- - S 0% kjournald
4688 0.00s 0.00s 0K 0K - - NE 0 E 0% <sh>
4686 0.00s 0.00s 0K 0K - - NE 0 E 0% <sh>
내가 올바르게 이해했다면 "좀비"는 없지만 여전히 CPU 시간의 대부분을 차지합니다(199%에서 200%로 점프). 이것이 예상되는 동작입니까?
답변1
또한iostat당신은 또한 고려해야합니다위에(http://www.atoptool.nl/) CPU가 아닌 병목 현상을 식별합니다.
답변2
답변3
예를 들어 파일 시스템 명령은 cp
CPU 시간이나 메모리를 많이 차지해서는 안 되며, 그 내용이 top
표시됩니다. 이 프로그램을 사용해 보십시오 iotop
(설치가 필요할 수 있음).
답변4
지금은 소스를 찾을 수 없습니다. 죄송합니다만, 가상 드라이브가 저장된 위치와 관련이 있을 수 있다는 내용을 읽은 기억이 납니다. NFS를 통해 저장하고 액세스하는 경우 오버헤드와 지터가 많이 발생합니다.
Virtualbox에는 IO 캐시를 조정하는 옵션이 있습니다. 이러한 옵션을 살펴보는 것이 좋습니다. 이는 cp와 같이 데이터를 복사하는 간단한 프로그램에 영향을 미칩니다.