Ubuntu 服务器 9.10
因此,有一个time
命令将显示特定进程/命令在命令完成后运行所花费的时间。例如:
:~$ time ls
real 0m0.020s
user 0m0.000s
sys 0m0.000s
我还想在进程使用时间(或其他命令,如有必要)完成后收集平均 CPU 使用率、内存和磁盘 (i/o) 使用率。我怎样才能做到这一点?
主要是我使用它来使用不同的innodb_buffer_pool_size
设置对 MySQL 导入性能进行基准测试。
Ubuntu 服务器 9.10
因此,有一个time
命令将显示特定进程/命令在命令完成后运行所花费的时间。例如:
:~$ time ls
real 0m0.020s
user 0m0.000s
sys 0m0.000s
我还想在进程使用时间(或其他命令,如有必要)完成后收集平均 CPU 使用率、内存和磁盘 (i/o) 使用率。我怎样才能做到这一点?
主要是我使用它来使用不同的innodb_buffer_pool_size
设置对 MySQL 导入性能进行基准测试。
我不太确定这是否会完全按照您想要的方式工作,但
vmstat <delay>
会每秒打印出统计数据。还有
sar
它每 10 分钟自动读取一次系统统计信息,或者sard
配置多长时间。这就是
getrusage
调用的意义所在,尽管大多数字段在 Linux 上都没有使用(至少上次我不得不关心时是这种情况。我通常只使用
top -p
自己,因为它仅限于我关心的过程。然后,您可以以通常的方式切换其他字段。例如,top -p 1
只会显示init
进程。然后,您可以在导入时观察 MySQL 的性能。您可以查看 CPU 统计信息、内存使用情况(RSS 和虚拟)、故障,以及任何顶级通常会给您的信息。
好问题。在 MySQL 的上下文中,您最好使用为此目的设计的工具。您有 Sysbench、Supersmack 等。请参阅下面的链接。