请教大家关于Ubuntu服务器磁盘利用率爆表,卡顿的问题

我们有一台Ubuntu的服务器,这台服务器用的人一多,就会非常卡,内存没有占满,检查磁盘利用情况发现在卡顿的时候,磁盘利用率总是非常高,但是别的服务器虽然用的人也多,内存占得很满,磁盘利用率也没有那么高,如图是磁盘利用率的情况,可以发现总是红色,高居不下,导致读写文件非常非常缓慢


之前看htop,交换内存30G总是占满,考虑是这个问题,把交换内存缩小了很多,但是还是会出现磁盘读写很高这个问题,请教大家有没有什么解决办法呢?

磁盘利用率高,是不是考虑先用iotop/iostat/lsof/atop这样的工具,看看进程IO状况来具体确定呢

留意下是不是磁盘有坏区或者读写问题

  1. 首先要看具体是什么东西占内存,根据你的描述,程序吃掉了30G swap,那是否内存分配不合理?通过 vmstat 检查内存中是buffer cache占用多吗?b 列有阻塞数量吗?siso 的数量大吗?如果有,对应的 cpu wa 有多少?

  2. 内存满了当然要写swap,内存数据也就会落盘,那导致这个问题的原因无非就是硬盘性能问题。

嗯嗯,这个是用iostat看到的情况,我又看了看iotop,发现磁盘负载还是挺高的,高峰期每秒读写在10M以上,我想问一下,这个算高的吗?是不是还是磁盘有点问题啊

服务器是跑的什么东西,是不是有数据库啥的备份或者同步什么的在这上面,之前遇到过一次es、redis、数据库装同一台服务器,又是集群,然后占老多带宽的

修改之后是这样的,刚刚检查了磁盘读写,发现磁盘最大读写是这样,我感觉是磁盘有问题。。我有什么办法检测这个磁盘吗?

发现无法插入图片,就是最大读5M/s,写10M/s

smartctl
另外你的测试命令是怎样的

我是用iotop看的磁盘读写状况,iostat看磁盘利用率

建议先查看进程中哪个进程占用了大量的磁盘工作. 然后再考虑是否换硬盘

我全部排查一遍,谢谢啦

看了下读写,发现是磁盘读写特别慢,估计是磁盘有问题

没去看具体哪个进程在疯狂写吗?

看到了,但是最大读写速度也就不到20M/s,这距离堵塞应该还有挺远的呀,所以我感觉是厂商给的硬盘有问题

这个时候你应该说出厂家了。

他们是组装给学校卖服务器的。。图便宜,害

常规话题快问快答