我有一個嵌入式系統,當我做用戶I/O操作時,系統只是停止。它在很長一段時間後纔開始行動。這個系統非常複雜,並且有很多進程正在運行。我的問題是,如何識別造成系統失速的原因 - 它在5分鐘內沒有任何字面意思。 5分鐘後,我看到了結果。我真的不知道什麼是拖延系統。有關如何調試此問題的任何輸入。我已經在系統上運行了頂層。但是,它不會導致任何問題。看到這裏,jup_render只佔CPU的30%,這不足以拖延系統。所以,我不確定top是否有用。如何識別,什麼是在Linux系統停滯?
〜#頂部
頂部 - 12時01分05秒21向上分鐘,1個用戶,平均負載:1.49,1.26,0.87 任務:116總,2運行,114睡眠,0停止,0殭屍 Cpu:44.4%us,13.9%sy,0.0%ni,40.3%id,0.0%wa,0.0%hi,1.4%si,0.0%st Mem:總共822572k,使用389640k,432932k free,1980k緩衝區 交換:0K總,使用0K,0K免費,227324k緩存
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
850 root 20 0 309m 32m 16m S 30 4.0 3:10.88 jup_render
870 root 20 0 221m 13m 10m S 27 1.7 2:28.78 jup_render
688 root 20 0 1156m 4092 3688 S 11 0.5 1:25.49 rxserver
9 root 20 0 0 0 0 S 2 0.0 0:06.81 ksoftirqd/1
16 root 20 0 0 0 0 S 1 0.0 0:06.87 ksoftirqd/3
9294 root 20 0 1904 616 508 R 1 0.1 0:00.10 top
812 root 20 0 865m 85m 46m S 1 10.7 1:21.17 lippo_main
13 root 20 0 0 0 0 S 1 0.0 0:06.59 ksoftirqd/2
800 root 20 0 223m 8316 6268 S 1 1.0 0:08.30 rat-cadaemon
3 root 20 0 0 0 0 S 1 0.0 0:05.94 ksoftirqd/0
1456 root 20 0 80060 10m 8208 S 1 1.2 0:04.82 jup_render
1330 root 20 0 202m 10m 8456 S 0 1.3 0:06.08 jup_render
8905 root 20 0 1868 556 424 S 0 0.1 0:02.91 dropbear
1561 root 20 0 80084 10m 8204 S 0 1.2 0:04.92 jup_render
753 root 20 0 61500 7376 6184 S 0 0.9 0:04.06 ale_app
1329 root 20 0 79908 9m 8208 S 0 1.2 0:04.77 jup_render
631 dbus 20 0 3248 1636 676 S 0 0.2 0:13.10 dbus-daemon
1654 root 20 0 80068 10m 8204 S 0 1.2 0:04.82 jup_render
760 root 20 0 116m 15m 12m S 0 1.9 0:10.19 jup_server
8 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/1:0
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
7 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
170 root 0 -20 0 0 0 S 0 0.0 0:00.00 kblockd
6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
167 root 20 0 0 0 0 S 0 0.0 0:00.00 sync_supers
281 root 0 -20 0 0 0 S 0 0.0 0:00.00 nfsiod
你在做什麼類型的I/O操作會觸發它? – 2014-10-27 15:45:19
讓我承認這個系統是一個機頂盒。我做了一個頻道zap。 – 2014-10-28 06:22:00