我们公司算法团队在跑模型训练,然后我们想计算一下,某个进程 /某个用户下的进程运行一次需要多少 IOPS 。
请问 V2EX 的吴彦祖,彭于晏,廖凡们有什么方法吗?
请问 V2EX 的吴彦祖,彭于晏,廖凡们有什么方法吗?
1
ch2 Nov 8, 2021
你给多大就会用多大
|
3
huangmingyou Nov 8, 2021
strace 统计 io 相关的系统调用数量
|
4
huangmingyou Nov 8, 2021
cat /proc/pid/io 或者 iotop 也可以看看
|
5
salmon5 Nov 8, 2021
这很 AWS
|
6
ETiV Nov 8, 2021 via iPhone
|
7
salmon5 Nov 8, 2021
这是用的 AWS 吧?目前 linux 上只能 iostat 全局统计,无法统计某个进程的 IOPS
|
8
haoliang Nov 8, 2021
不负责任地提供一个思路:利用 cgroup 的 io controller 的 io.stat 。这里的 io 专指 block io
具体地可以通过 systemd 运行程序,并开启 IOAccounting ,然后看下对应的 io.stat https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#io |
9
TomChaai Nov 8, 2021
不懂开发,但是总有个赖招。
在每个会产生 io 的地方加钩子钩你的统计模块,然后计数 |
10
1023 Nov 15, 2021 via Android
难算,也难从 linux 上检测,因 os 会合并优化 io ,存储层不同的硬盘 raid 等参数也影响上层效率,我们的办法是直接买了带有统计功能的存储硬件,在存储层直接统计
|