我们有一台 Ubuntu 的服务器,这台服务器用的人一多,就会非常卡,内存没有占满,检查磁盘利用情况发现在卡顿的时候,磁盘利用率总是非常高,但是别的服务器虽然用的人也多,内存占得很满,磁盘利用率也没有那么高,如图是磁盘利用率的情况,可以发现总是红色,高居不下,导致读写文件非常非常缓慢 之前看 htop ,交换内存 30G 总是占满,考虑是这个问题,把交换内存缩小了很多,但是还是会出现磁盘读写很高这个问题,请教大家有没有什么解决办法呢?
这是这个磁盘的速度
另一台服务器和这个是相同的磁盘,是这样的
感觉应该是这块盘的问题,大家觉得呢
1
cheng6563 322 天前
内存不满交换满?那把 swappiness 调低呗
|
8
leeyuzhe 322 天前
看起来就是内存不够用了
|
9
blankmiss 322 天前
把 swap 缓存 zram 试试
|
11
litguy 322 天前
HDD ?
|
12
msg7086 322 天前
Swap 本来也就只会把平时不会用到的内存交换出去,留出内存来加速硬盘读写。你调低 Swappiness 只会让缓存命中率降低,读写性能更差。不如先看看磁盘本身的健康状况之类。
|
16
yaleyu 321 天前
用的人多建议数据上 NAS 或者 SAN ,不是群辉这种家用 NAS ,而是企业级 NetApp, EMC 之类。
|
17
aru 321 天前
加内存就好了
如果不能加内存,考虑能不能加个固态硬盘,将 swap 弄过去 如果还是不行,那么看下能不能看下是那个程序占用内存太多,看能不能降低内存占用 |
18
aru 321 天前
硬盘看着没啥问题
300 多的 iops ,也算机械盘的正常水准了 |
19
F7TsdQL45E0jmoiG 321 天前
高频读写文件都利用 tmpfs 把内存 mount 成卷
|
21
aru 318 天前
@maydaytyh
测试的时候,要保证没有其他的读写硬盘操作才准确 你给出来的这个测试结果,并没有证明 A 硬盘比 B 硬盘性能差 A 硬盘: 4.95MB/s 读 9.73MB/s 写 B 硬盘: 50.6MB/s 读 0.1MB/s 写 |
22
maydaytyh OP @aru 老哥,还是没解决这个问题。在两台服务器上分别执行 sudo hdparm -t --direct /dev/sdb 5 次,得到结果分别是这样。是否可以断定这个硬盘有问题呢?
![1715328556378.png]( https://img2.imgtp.com/2024/05/10/WDHCWPul.png) ![1715328806856.png]( https://img2.imgtp.com/2024/05/10/1Wx9Kubm.png) |
23
aru 215 天前
如果 sdb 上没其他的程序读写操作,这个速度肯定有问题
|