我不明白,top 报告的“平均负载”非常高的原因是什么。
这是 RHEL 7。该问题可重复出现。我们有一个远程 NAS,当一个用户空间进程开始在那里写入超大文件(例如 15 GB 大小)时,我们经常(但并非总是)会得到以下信息:
top - 19:04:38 up 43 days, 11:39, 3 users, load average: 54,92, 53,82, 47,17
Tasks: 302 total, 1 running, 301 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0,3 us, 0,3 sy, 0,0 ni, 99,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
%Cpu1 : 0,3 us, 0,3 sy, 0,0 ni, 99,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem : 1881412 total, 145084 free, 762644 used, 973684 buff/cache
KiB Swap: 4194300 total, 4127484 free, 66816 used, 840376 avail Mem
平均负载超过 50。两个处理器都处于空闲状态,没有报告任何统计数据。这不仅仅是短时间的情况。这种情况可能持续 10 分钟甚至更长时间。我们在复制命令前面添加了“ionice -n 7”,问题出现的频率似乎有所降低,但仍然存在。
问题其实是这样的:我们还能观察到什么来帮助我们解释和解决问题。问题可能是什么?
编辑:实际上,这个高负载发生在服务器 A 上,但服务器 B 上正在执行有问题的 NAS 复制。两台服务器都安装了相同的 NAS。
编辑2:在服务器 B(执行复制的位置)上,NAS 安装如下:
//10.105.10.123/abc on /abc type cifs (rw,relatime,vers=3.0,cache=strict,username=nas,domain=myorg.com,uid=1346600026,forceuid,gid=1346600027,forcegid,addr=10.105.10.123,file_mode=0775,dir_mode=0775,soft,persistenthandles,nounix,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)
在服务器 A 上(尝试使用 NAS 时观察到高负载):
//10.105.10.123/abc/ABC on /ABC type cifs (rw,relatime,vers=3.0,cache=strict,username=nas,domain=myorg.com,uid=1346600026,forceuid,gid=1346600027,forcegid,addr=10.105.10.123,file_mode=0775,dir_mode=0775,soft,persistenthandles,nounix,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)