或者是最好的select,相应地创build一个内核核心转储和分析?
那么top将是传统的stream程查看器。 显然有一个KDE的KDE这将是一个graphics版本。 你需要什么function,我们可以select一个更好的解决scheme。
那么在linux系统上, iotop将显示哪些进程正在生成io。
通过“确定CPU密集型function”。 我假设你的意思是哪个进程正在使用CPU和内存,在这种情况下top可能是默认的答案。
这可能是值得解释的问题,你正试图解决,而不是什么工具等同于一个窗口:)
如果您想了解更多有关单个进程的信息,请查看/ proc / PROCESSID / eg / proc / 14232
Solaris提供了大量的性能监视工具 ,包括Dtrace,这对于程序debugging也非常方便。
如果您的目标是确定哪些进程使计算机消耗更多的电力,请使用“powertop”。 这是一个输出的例子:
唤醒的主要原因:
23.0%(112.4)amarok:schedule_hrtimeout_range(hrtimer_wakeup)
15.6%(76.0):pata_jmicron,uhci_hcd:usb3,nvidia
9.6%(46.8):英特尔HDA
7.1%(34.6)firefox:futex_wait(hrtimer_wakeup)
4.5%(21.8):eth0
3.9%(19.2):ehci_hcd:usb2,uhci_hcd:usb6
3.9%(19.2)USB设备6-2:USB接收器(罗技)
3.5%(17.2):重新调度中断
3.4%(16.4)kwin:schedule_hrtimeout_range(hrtimer_wakeup)
3.3%(16.0):usb_hcd_poll_rh_status(rh_timer_func)
3.2%(15.6)skype:schedule_hrtimeout_range(hrtimer_wakeup)
2.6%(12.6)psi:schedule_hrtimeout_range(hrtimer_wakeup)
2.2%(10.6):ahci
2.1%(10.4)ktorrent:schedule_hrtimeout_range(hrtimer_wakeup)
2.0%(10.0)skype:do_nanosleep(hrtimer_wakeup)
你似乎想要的是vmstat,iotop,sysstat / sar和powertop的组合,就像上面提到的一样。 但是,您希望远离大型实用程序(htop,dstat),因为它们会歪曲您想要观察的数据。 当你跑顶时,通常最繁忙的过程是什么? 最佳! 这违反了科学的观察原则。 你希望你的探针尽可能的轻巧。
通常通过运行ltrace和strace,你可以了解到大部分时间花费在哪里。 如果大部分时间都到了用户级别的数量修改,那么除非您重做algorithm,否则无法修复它。 如果大部分时间都花在系统调用上,那么你就要看看你在使用操作系统资源的方式和方式,也许你正在等待locking才能完成,或者你经常强迫文件系统刷新。 这个东西没有硬性的规则,只要运行所有常用的工具,看看哪一个闪烁着对你有意义的东西。 了解你的系统调用和错误调用,特别是在阅读strace报告时,也是非常有用的。