我的 Centos 非常慢
Linux xxx.xxx.xxx 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:19:18 EDT 2009 i686 i686 i386 GNU/Linux
問題:
- 當我使用 SSH 連接時,每個命令需要 2 分鐘才能執行!
- 重新啟動伺服器平均需要 16 分鐘。
- 我在這個伺服器上有一個網頁(PHP (Joomla) with Apache/2.2.8 (Unix)),每個頁面需要 1 分鐘的載入時間。
- 我認為這是因為它最初是與 IPv6 連接的,因為在執行命令“lsmod | grep v6”時向我顯示了以下內容:
ipv6 261473 125 xfrm_nalgo 13381 1 ipv6
但是使用這個網站(http://techno.mayix.net/deshabilitar-ipv6-en-redhatcentos/),我禁用了 IPv6 連接,因為執行命令“lsmod | grep v6”時什麼也沒顯示。但是緩慢的問題仍然存在。- 當我執行命令 top 給我這個:
top - 09:40:08 up 10 min, 1 user, load average: 18.89, 14.99, 8.02 Tasks: 153 total, 13 running, 140 sleeping, 0 stopped, 0 zombie Cpu(s): 57.1%us, 42.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.2%hi, 0.3%si, 0.0%st Mem: 1555380k total, 667200k used, 888180k free, 18332k buffers Swap: 2048276k total, 0k used, 2048276k free, 193784k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2265 mysql 15 0 133m 23m 6052 S 35.8 1.5 2:43.58 mysqld 2868 apache 15 0 42092 21m 4520 S 18.2 1.4 0:19.51 httpd 3112 apache 16 0 41844 21m 4536 S 18.2 1.4 0:09.18 httpd 2506 apache 15 0 42108 21m 4516 S 17.9 1.4 0:23.15 httpd 3471 apache 16 0 41732 20m 4252 S 17.9 1.4 0:02.59 httpd 2567 apache 15 0 42060 21m 4496 S 16.9 1.4 0:20.84 httpd 2625 apache 16 0 41840 21m 4568 R 16.9 1.4 0:16.53 httpd 3461 apache 15 0 41460 20m 4260 S 16.6 1.4 0:02.17 httpd 2593 apache 15 0 42084 21m 4480 S 16.3 1.4 0:15.37 httpd 2429 apache 15 0 42040 21m 4484 S 9.8 1.4 0:14.31 httpd 3477 apache 18 0 36900 15m 3792 R 5.5 1.0 0:01.24 httpd 3499 apache 19 0 37432 16m 3840 R 3.3 1.1 0:01.40 httpd 2417 apache 15 0 40544 20m 4508 S 1.3 1.3 0:18.89 httpd 3520 root 15 0 2420 1060 800 R 1.3 0.1 0:00.46 top 3464 apache 15 0 41332 20m 4432 S 0.7 1.4 0:04.03 httpd 2423 operador 15 0 10032 1596 1024 S 0.3 0.1 0:00.54 sshd 2463 root 16 0 2052 636 556 S 0.3 0.0 0:01.84 hald-addon-stor 2482 apache 15 0 37224 16m 4508 S 0.3 1.1 0:17.95 httpd 1 root 15 0 2152 672 580 S 0.0 0.0 0:02.09 init 2 root RT -5 0 0 0 S 0.0 0.0 0:00.10 migration/0 3 root 34 19 0 0 0 R 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 5 root RT -5 0 0 0 S 0.0 0.0 0:00.05 migration/1 6 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1 7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1 8 root 10 -5 0 0 0 S 0.0 0.0 0:00.06 events/0 9 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 events/1 10 root 10 -5 0 0 0 S 0.0 0.0 0:00.03 khelper 11 root 14 -5 0 0 0 S 0.0 0.0 0:00.02 kthread 15 root 10 -5 0 0 0 S 0.0 0.0 0:00.08 kblockd/0 16 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 kblockd/1 17 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid 74 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0 75 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/1 78 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khubd 80 root 14 -5 0 0 0 S 0.0 0.0 0:00.03 kseriod 146 root 19 0 0 0 0 S 0.0 0.0 0:00.00 pdflush 147 root 15 0 0 0 0 S 0.0 0.0 0:00.50 pdflush 148 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 kswapd0 149 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0 150 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 aio/1 305 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kpsmoused 349 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 mpt_poll_0 350 root 12 -5 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0 354 root 12 -5 0 0 0 S 0.0 0.0 0:00.00 ata/0 355 root 12 -5 0 0 0 S 0.0 0.0 0:00.00 ata/1 356 root 12 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux 363 root 13 -5 0 0 0 S 0.0 0.0 0:00.00 kstriped 376 root 13 -5 0 0 0 S 0.0 0.0 0:00.00 ksnapd
當我在我的伺服器中執行“cat /etc/resolv.conf”時,向我展示了這個:
域名伺服器 xxx.xxx.xxx.1 域 mydomain.com
當我在我的電腦上執行“ping mydomain.com”時,向我展示了這個:
“ping mydomain.com
$$ xxx.xxx.xxx.5 $$帶有 32 個字節的數據:"
看起來 mysql 和 apache 正在消耗大量的處理時間。數據庫可能是一個瓶頸,我假設您確實需要它 - 您能否分析您的數據庫使用情況並查看發生了什麼?
18的平均負載很明顯說明了一個問題,但問題是,為什麼這麼高?
不久前我遇到了一個非常相似的問題,結果證明是磁碟控制器的問題。非常慢的磁碟訪問導致系統在等待磁碟 IO 時出現瓶頸(這表現為非常高的平均負載和等待時間,但也導致等待磁碟的程序比其他情況消耗更多的 CPU。事實證明,核心沒有正確辨識控制器,並退回到舊學校 IDE 控制器而不是快速 sata 控制器。
修復方法是啟動
hda=noprobe hda=none
在 /etc/grub.conf 中核心字元串的末尾。
如果問題不是磁碟 IO,那麼您將不得不花一些時間來解決問題。從您目前得到的輸出來看,您似乎有足夠的 RAM,但 CPU 正在被 httpd 和 mysql 程序消耗。您的伺服器是否正常忙碌?有多少連接進入伺服器?(您可以獲取此資訊,
netstat -an |grep ESTABLISHED
如果太多無法計算,您可以netstat -an |grep ESTABLISHED |wc -l
計算行數。)您還可以使用iostat
查看磁碟 io 統計資訊之類的工具(來自 sysstat 包:yum install sysstat
安裝它)。