如何在一段时间内监控正在运行的进程的CPU时间(Linux)?
我想在执行查询时测量正在运行的数据库服务器的CPU使用情况。 目标是获得wallclock时间、总CPU时间、用户CPU时间和内核(系统)CPU时间,这样我就可以估计出在计算上花费了多少时间,以及在I/O上花费了多少时间 服务器专用于此实验,当没有查询运行时,CPU使用率接近0%,因此我的计划是如何在一段时间内监控正在运行的进程的CPU时间(Linux)?,linux,cpu-usage,Linux,Cpu Usage,我想在执行查询时测量正在运行的数据库服务器的CPU使用情况。 目标是获得wallclock时间、总CPU时间、用户CPU时间和内核(系统)CPU时间,这样我就可以估计出在计算上花费了多少时间,以及在I/O上花费了多少时间 服务器专用于此实验,当没有查询运行时,CPU使用率接近0%,因此我的计划是 启动监视器 运行查询 停止监视器并收集间隔期间的CPU使用情况 监视器可以给出该时间段内CPU时间的总和,也可以给出采样结果的列表,我可以自己对其进行汇总 我曾寻找过类似的问题,并尝试过几种解决方案,但
pidstat
pidstat看起来不错,但是粒度太粗了。最小的间隔是1秒,我需要一个更精细的间隔,比如100ms
mpstat
与pidstat的问题相同。大间隔
top
top可以在批处理模式下运行,但采样间隔也很大(2s-3s)。它也不提供用户/内核时间细分
您应该看到on和/或linux admin for umseaborating关于这个答案,您的命令应该是这样的:
time psql-f file\u with_sql.sql