time
如果您想弄清楚给定命令需要多少 CPU 时间,这是一个很棒的命令。
我正在寻找类似的东西,可以测量程序和任何孩子的最大 RAM 使用量。最好应该区分已使用和未使用的已分配内存。也许它甚至可以给出中值内存使用量(因此在长时间运行时您应该期望内存使用量)。
所以我想做:
rammeassure my_program my_args
Run Code Online (Sandbox Code Playgroud)
并获得类似于以下内容的输出:
Max memory allocated: 10233303 Bytes
Max memory used: 7233303 Bytes
Median memory allocation: 5233303 Bytes
Run Code Online (Sandbox Code Playgroud)
我看过memusg
https://gist.github.com/526585/590293d6527c91e48fcb08edb8de9fd6c88a6d82但我认为这有点像黑客。
我可以使用各种工具来测量当前流经系统的磁盘 I/O 量(例如iotop
和iostat
),但我很好奇是否可以轻松检测磁盘是否只需要少量输入/输出。
我知道可以使用提取这些信息blktrace
然后使用解码它,btt
但这些有点笨拙,我希望有一个更简单的替代方案?
time
如果您想弄清楚给定命令需要多少 CPU 时间,这是一个很棒的命令。
我正在寻找类似的东西,可以测量程序和任何子项的磁盘 I/O。它最好区分缓存的 I/O(因此不会导致磁盘旋转)和未缓存的 I/O。
所以我想做:
iomeassure my_program my_args
Run Code Online (Sandbox Code Playgroud)
并获得类似于以下内容的输出:
Cached read: 10233303 Bytes
Cached write: 33303 Bytes # This was probably a tmp file that was erased before making it to the disk
Non-cached read: 200002020 Bytes
Non-cached write: 202020 Bytes
Run Code Online (Sandbox Code Playgroud)
我看过vmstat
, iostat
, 和sar
,但这些都不是在看一个过程。相反,他们着眼于整个系统。
我已经看过了iotop
,但这只能让我看到这一瞬间。
- - 编辑 - -
snap的答案似乎很接近。
“文件系统输入:”是 512 字节块中的非缓存读取。
“文件系统输出:”是 512 字节块中的缓存写入。
您可以使用以下命令强制清空缓存:
sync ; echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null
Run Code Online (Sandbox Code Playgroud)
我测试了:
seq …
Run Code Online (Sandbox Code Playgroud) 我想比较这两个命令的速度:
grep pattern1 files*
grep pattern2 files*
Run Code Online (Sandbox Code Playgroud)
不幸的是,第一个 grep 将大量文件*读入内存缓冲区,因此第二个 grep 运行得非常快,但原因错误。
我如何告诉 Linux (Fedora 11):“请停止缓存磁盘读取,因为我正在测试一些东西。”
例如,我需要为某些软件做“make”。我想测量这需要多长时间。
有没有简单而准确的方法来做到这一点?
我的双启动 win/linux 笔记本电脑上的 WLAN 出现了问题 - linux 端的连接偶尔会出现问题,而且似乎有些缓慢和笨拙。我会尝试通过摆弄各种路由器设置或 WLAN 内核模块向后移植或其他任何东西来解决此问题 - 但问题是,很难知道这些设置是否有任何影响,因为问题仅出现在主观感觉中连接速度。所以我想有一些方法来执行一个测量,它会告诉我问题是否受到影响。
到目前为止,我只使用了iwconfig
它返回正常数据,并ping -c 100 -i 0.2
在路由器和一些稳定的网站 ip 地址上使用,但摘要并没有给我所有好的数据,只有偶尔的数据包丢失。摘要中缺少的一项信息是往返时间明显偏离的数据包计数,因为这是我注意到的症状之一 - 大多数数据包以固定时间返回,但其中一些需要更长的时间。
那么,我可以使用哪些工具来获取有关互联网连接质量的一些实际数字数据?
(以防万一有人想知道,是的,问题是真实存在的,而不仅仅是确认偏差,因为它有时看起来足以让我失去 WLAN 连接。这可能与这个 Ubuntu 错误和/或这个 Redhat 错误有关)