Opensuse 11.4 在 8 GB RAM i5 處理器上非常慢
編輯: 這是 top 與 “M” 一起執行的時候。 Eclipse 啟動時的快照(使用“iotop”) Eclipse 建構工作區時的快照 Eclipse 完成它的事情之後
它和以前一樣慢,讓一切都停止了:(
我安裝了 OpenSuse 11.4 64 位。早些時候,系統很快。現在 Eclipse 需要永遠打開,然後需要 5 分鐘來建構工作區(不開玩笑!)。以下是打開 eclipse 時 top 在系統上的外觀:
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie Cpu(s): 5.3%us, 1.6%sy, 0.0%ni, 57.2%id, 35.8%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 8099348k total, 8046104k used, 53244k free, 46904k buffers Swap: 2103292k total, 0k used, 2103292k free, 7055848k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1778 root 20 0 137m 19m 10m S 4 0.3 0:04.92 Xorg 1 root 20 0 12460 864 724 S 0 0.0 0:00.88 init 2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0 0.0 0:00.10 ksoftirqd/0 4 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/0:0 5 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/u:0 6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0 7 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0 8 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1 9 root 20 0 0 0 0 S 0 0.0 0:00.44 kworker/1:0 10 root 20 0 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1 11 root 20 0 0 0 0 S 0 0.0 0:00.58 kworker/0:1 12 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/1 13 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/2 14 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/2:0 15 root 20 0 0 0 0 S 0 0.0 0:00.01 ksoftirqd/2 16 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/2 17 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/3 18 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/3:0 19 root 20 0 0 0 0 S 0 0.0 0:00.01 ksoftirqd/3 20 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/3 21 root 0 -20 0 0 0 S 0 0.0 0:00.00 cpuset 22 root 0 -20 0 0 0 S 0 0.0 0:00.00 khelper 23 root 0 -20 0 0 0 S 0 0.0 0:00.00 netns 24 root 20 0 0 0 0 S 0 0.0 0:00.00 sync_supers 25 root 20 0 0 0 0 S 0 0.0 0:00.00 bdi-default 26 root 0 -20 0 0 0 S 0 0.0 0:00.00 kintegrityd 27 root 0 -20 0 0 0 S 0 0.0 0:00.00 kblockd 28 root 0 -20 0 0 0 S 0 0.0 0:00.00 kacpid 29 root 0 -20 0 0 0 S 0 0.0 0:00.00 kacpi_notify 30 root 0 -20 0 0 0 S 0 0.0 0:00.00 kacpi_hotplug 31 root 0 -20 0 0 0 S 0 0.0 0:00.00 ata_sff 32 root 20 0 0 0 0 S 0 0.0 0:00.00 khubd 33 root 20 0 0 0 0 S 0 0.0 0:00.00 kseriod 34 root 0 -20 0 0 0 S 0 0.0 0:00.00 md 35 root 0 -20 0 0 0 S 0 0.0 0:00.00 kondemand 36 root 20 0 0 0 0 S 0 0.0 0:00.00 khungtaskd 37 root 20 0 0 0 0 S 0 0.0 0:01.15 kswapd0 38 root 25 5 0 0 0 S 0 0.0 0:00.00 ksmd 39 root 20 0 0 0 0 S 0 0.0 0:00.00 fsnotify_mark 40 root 0 -20 0 0 0 S 0 0.0 0:00.00 aio 41 root 0 -20 0 0 0 S 0 0.0 0:00.00 crypto 45 root 0 -20 0 0 0 S 0 0.0 0:00.00 kthrotld
我此時只有 Eclipse 正在執行,而 Eclipse 也有自己的美好時光 :( ,甚至瀏覽器也沒有打開。為什麼系統在爬行?任何幫助都會很棒
謝謝。
您使用的記憶體過多。看到那行說:
記憶體:總計 8099348k,已使用 8046104k,免費 53244k,
這是第一個線索。當您執行 top 時,第二條線索必須稍後出現,然後按大寫
M
鍵。這將對程序進行排序,以便記憶體佔用位於頂部。有可能它是一個存在記憶體洩漏的程序,但也可能是其他問題,例如,您是否使用不斷增長的數據庫執行 SOLR?iotop 可以很好地找出您正在執行的 IO 類型,但您很可能只會知道它是通用磁碟 IO。如果您有更多 RAM,那麼您將擁有更大的磁碟記憶體,因此磁碟 IO 更少。在 Eclipse 完成它的工作之後,top 向您展示了什麼?也許您只是載入了太多外掛?
此外,
free -mt
這是查看實際緩衝區記憶體大小的更好方法。會有一行看起來像:-/+ buffers/cache: 3996 8475
兩個數字中的第二個是用於應用程序可用的緩衝區記憶體的 RAM 量。我給出的輸出來自執行 SOLR 的伺服器和另一個總 RAM 為 12G 的 Java webapp。
如果我站在你的立場上,我會從 shell 提示符啟動 Eclipse,這樣你就可以看到 stderr 日誌消息,然後在 Eclipse 載入時
top
使用該M
選項進行監視(或重複執行free -mt
),看看你是否可以將 RAM 使用量的增加與當時正在發生什麼。此外,該行為可能是在啟動時由其他東西完成的,可能是太多的 Apache mods 或類似的東西。您總是可以添加一個特殊的初始化腳本來在啟動期間使用時間戳進行類似的記憶體監控。