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

标签 linux performance matlab multicore

我们需要知道一个 matlab 进程使用了​​多少内存和 cpu 时间及其所有衍生线程。如果我理解正确,所有线程都将作为具有新进程 ID 的新进程弹出,但 CMD 名称将保持不变。

所以我考虑创建一个恶魔,它在每 n 秒内追加用法:

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

然后计算并总结乘以恶魔节拍时间的比率。

我想知道是否有更简单的方法,或者我遗漏了什么,或者只是存在一些更适合这项工作的工具?

干杯

最佳答案

如果你安装了 BSD Process Accounting 实用程序(Debian 和 Ubuntu 上的软件包 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) 支持它——因此当前正在运行的进程完全被实用程序忽略了。

不过,这些实用程序可能就足够了;这些公用事业是计算中心向客户收费的方式,回到计算中心流行的时候......

关于linux - 报告内存和 cpu 使用情况 - matlab - 在多核 linux 服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10457172/

相关文章:

xcode - Matlab 2012a Mex 在 Mountain Lion 上与 Xcode 4.5 一起工作

c++ - 在 matlab 中调用可执行函数,比本地 matlab 代码慢?

linux - 如果我在 Linux 操作系统上运行,如何使用 gcc g++ 编译 Windows 二进制文件?

php - 是否可以重新使用故意打开的套接字?

iphone - 在 iPhone 上使 UIImageView 不透明时出现问题

android - Android的MVP结构如何在Fragment中初始化Presenter

linux - 从 bash 脚本初始化 Mininet 拓扑

linux - 查找某个目录下所有正在运行的脚本

performance - 如何在 react 原生生产构建中访问 global.nativePerformanceNow()?或任何其他测量时间戳的方法

c - Matlab int16() C 等效项?