我们在一台 CentOS 7 机器上的一个帐户的磁盘读/写速度非常慢。我开始研究这个问题是因为这台机器上的 1007 用户运行wget
速度比其他用户/机器慢得多。
ID 用户标识=1007(test.dd) gid=1001(xxx) groups=1001(xxx),10(wheel) ulimit -m 100000000; sudo dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync [sudo] test.dd 的密码: 1+0 条记录 1+0记录输出 复制 1073741824 字节 (1.1 GB),25.6939 秒,41.8 MB/秒
1007 似乎是这里的罪魁祸首,因为我删除了用户并使用相同的 UID 重新创建了另一个用户,或者将现有用户更改为相同的 UID,并得到了相同的结果。此外,我还确保没有其他用户/etc/passwd
具有 UID 或 GID = 1007。
事实证明,在相同的命令下,所有其他用户的速度都是原来的 4 倍。
id
uid=1008(yyy) gid=1001(xxx) groups=1001(xxx),10(wheel),994(docker)
ulimit -m 100000000; sudo dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 6.61231 s, 162 MB/s
可能出了什么问题?
更新:替换of=/tmp/test1.img
为之后of=/dev/null
,我发现 1007 和其他用户之间的性能差距类似:
ID 用户标识=1007(test.dd) gid=1001(xxx) groups=1001(xxx),10(wheel) ulimit -m 100000000; sudo dd if=/dev/zero of=/dev/null bs=1G count=1 oflag=dsync 1+0 条记录 1+0记录输出 复制 1073741824 字节 (1.1 GB),4.31788 秒,249 MB/秒
id
uid=1008(yyy) gid=1001(xxx) groups=1001(xxx),10(wheel),994(docker)
ulimit -m 100000000; sudo dd if=/dev/zero of=/dev/null bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 0.309438 s, 3.5 GB/s
更新2:更改/dev/zero
为后/tmp/test1.img
,两个用户最终获得相同的速度。因此,看起来/dev
挂载点对用户 1007 和其他用户的处理方式有所不同。关于为什么会出现这种情况的任何线索吗?