Linux 或 Solaris 的 Kernrate 替代品

Linux 或 Solaris 的 Kernrate 替代品

问题:

  • 是否有已知的替代方法(或类似工具)核速率适用于 Linux 或 Solaris,如果是,在哪里可以找到更多信息?

编辑:

  • 查找哪些设备驱动程序正在产生大量中断。
  • 识别 CPU 密集型函数。
  • 以上所有操作均在运行实时系统时进行。

或者最好的选择是创建内核核心转储并进行相应的分析?

答案1

嗯,这top将是传统的进程查看器。显然,ktopKDE 有一个图形版本。您需要该工具提供哪些功能,我们也许可以选择更好的解决方案。

在 Linux 系统上iotop将显示哪些进程正在生成 io。

通过“识别 CPU 密集型功能”。我假设您的意思是哪些进程正在使用 CPU 和内存,在这种情况下 top 可能是默认答案。

也许值得解释一下你正在尝试解决的问题,而不是解释哪种工具相当于 Windows 工具:)

如果您想了解有关单个进程的更多信息,请检查 /proc/PROCESSID/ 例如 /proc/14232

答案2

Solaris 拥有大量性能监控工具包括 Dtrace 在内的可用功能对于程序调试也非常方便。

答案3

如果您的目标是确定哪些进程使计算机消耗更多电量,请使用“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 接收器 (Logitech)
   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)

答案4

就像上面提到的那样,您似乎想要的是 vmstat、iotop、sysstat/sar 和 powertop 的组合。但是,您要远离大型实用程序(htop、dstat),因为它们会歪曲您尝试观察的数据。当您运行 top 时,通常最繁忙的进程是什么?TOP!这违反了科学的观察原理。您希望您的探测器尽可能轻便。

通常,通过运行 ltrace 和 strace,您可以了解进程花费最多时间的地方。如果大部分时间都花在了用户空间的数字运算上,除非您重新执行算法,否则无法修复它。如果大部分时间都花在了系统调用上,您必须查看您使用了什么以及如何使用操作系统资源,也许您正在等待锁定完成,或者您强制文件系统刷新的频率太高。这些事情没有硬性规定,只需运行所有常用实用程序,看看哪一个会向您闪烁有意义的信息。了解您的系统调用和错误调用(尤其是在阅读 strace 报告时)也会非常有帮助。

相关内容