如何解决如何监视一段时间内正在运行的进程的CPU时间Linux?
我想在执行查询时测量正在运行的数据库服务器的CPU使用率。 目的是获得挂钟时间,总CPU时间,用户CPU时间和内核(系统)CPU时间,因此我可以估计在计算上花费了多少时间,在I / O上花费了多少时间。
该服务器专用于此实验,并且在没有查询运行时,CPU使用率接近0%,因此我的计划是
- 启动监视器
- 运行查询
- 在间隔时间内停止监视并收集CPU使用情况
监视器可以提供该时间段内的CPU时间总和或采样结果列表,我可以自己总结一下。
我已经搜索了类似的问题,并尝试了几种解决方案,但它们不能满足我的需求。
-
pidstat
pidstat看起来不错,但是粒度太粗糙。最小间隔是1秒,我将需要更细微的间隔,例如100ms。 -
mpstat
与pidstat相同。大间隔。 -
top
top可以批处理模式运行,但采样间隔也很大(2s-3s)。它还不提供用户/内核时间细分。
谢谢大家的建议!
解决方法
尝试使用“时间”或“时间”命令。您可能必须做出一些变通办法才能使用这些命令。
时间程序名称
https://man7.org/linux/man-pages/man1/time.1.html
“ times”需要从启动数据库服务器的同一shell中执行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。