我有一个嵌入式系统,当我做用户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