在多核Linux服务器上报告内存和CPU使用情况 - matlab

时间:2012-05-04 23:02:50

标签: linux performance matlab multicore

我们需要知道matlab进程在所有生成的线程中使用了多少内存和CPU时间。如果我理解正确的话,所有线程都将弹出为具有新进程ID的新进程,但CMD名称将保持不变。

所以我想创建一个每隔n秒附加一次使用的恶魔:

ps -o %cpu,%mem,cmd -C MATLAB | grep "[0-9]+" >> matlab_log

以后计算和总结比率乘以恶魔蜱时间。

我想知道是否有更简单的方法,或者我错过了什么,或者只是存在一些更方便的工具?

干杯

2 个答案:

答案 0 :(得分:2)

如果在Debian和Ubuntu上安装BSD Process Accounting实用程序(包acct),您可以使用sa(8)实用程序来总结执行或为您提供半详细的执行日志:

$ lastcomm
...
man               F  X sarnold  pts/3      0.00 secs Fri May  4 16:21
man               F  X sarnold  pts/3      0.00 secs Fri May  4 16:21
vim                    sarnold  pts/3      0.05 secs Fri May  4 16:20
sa                     sarnold  pts/3      0.00 secs Fri May  4 16:20
sa                     sarnold  pts/3      0.00 secs Fri May  4 16:20
bzr                    sarnold  pts/3      0.99 secs Fri May  4 16:19
apt-get          S     root     pts/1      0.44 secs Fri May  4 16:18
dpkg                   root     pts/1      0.00 secs Fri May  4 16:19
dpkg                   root     pts/1      0.00 secs Fri May  4 16:19
dpkg                   root     pts/1      0.00 secs Fri May  4 16:19
apt-get           F    root     pts/1      0.00 secs Fri May  4 16:19
...
$ sa
     633      15.22re       0.09cp         0avio      6576k
      24       8.51re       0.03cp         0avio      6531k   ***other*
       2       0.31re       0.02cp         0avio     10347k   apt-get
       3       0.02re       0.02cp         0avio      9667k   python2.7
      18       0.04re       0.01cp         0avio      5444k   dpkg
       2       0.01re       0.01cp         0avio     13659k   debsums
...

acct文件的格式记录在acct(5)中,因此如果没有任何标准工具可以表达您想要的查询,您可以编写自己的程序来解析文件。

BSD流程会计实用程序的最大缺点可能是内核只会在进程退出时更新进程记帐日志,因为许多摘要号只能在其他进程wait(2)之后才能使用 - 所以当前正在运行的进程完全被实用程序忽略了。

这些实用程序可能就足够了;这些公用事业是计算中心向客户收费的方式,当计算中心受欢迎时... ...

答案 1 :(得分:2)

您还可以使用top

top -b -n 1 | grep MATLAB

14226 user      39  19 2476m 1.4g  26m S 337.2  9.2  24:44.60 MATLAB
25878 user      39  19 2628m 1.6g  26m S  92.0 10.6  21:07.36 MATLAB
14363 user      39  19 2650m 1.4g  26m S  79.7  9.1  23:58.38 MATLAB
14088 user      39  19 2558m 1.4g  26m S  61.3  9.1  25:14.53 MATLAB
14648 user      39  19 2629m 1.6g  26m S  55.2 10.5  22:03.20 MATLAB
14506 user      39  19 2613m 1.5g  26m S  49.0  9.4  22:32.47 MATLAB
14788 user      39  19 2599m 1.6g  26m S  49.0 10.3  20:44.78 MATLAB
25650 user      39  19 2608m 1.6g  26m S  42.9 10.2  25:08.38 MATLAB

或获取字段名称:

top -b -n 1 | head -n 7 | tail -n 1; top -b -n 1 | grep MATLAB

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
14226 user      39  19 2476m 1.4g  26m S 337.2  9.2  24:44.60 MATLAB
25878 user      39  19 2628m 1.6g  26m S  92.0 10.6  21:07.36 MATLAB
14363 user      39  19 2650m 1.4g  26m S  79.7  9.1  23:58.38 MATLAB
14088 user      39  19 2558m 1.4g  26m S  61.3  9.1  25:14.53 MATLAB
14648 user      39  19 2629m 1.6g  26m S  55.2 10.5  22:03.20 MATLAB
14506 user      39  19 2613m 1.5g  26m S  49.0  9.4  22:32.47 MATLAB
14788 user      39  19 2599m 1.6g  26m S  49.0 10.3  20:44.78 MATLAB
25650 user      39  19 2608m 1.6g  26m S  42.9 10.2  25:08.38 MATLAB