linux – 为什么Ubuntu在大规模网络,磁盘I / O上运行缓慢?

前端之家收集整理的这篇文章主要介绍了linux – 为什么Ubuntu在大规模网络,磁盘I / O上运行缓慢?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
不知道从哪里开始,但我经常在我的Ubuntu Hardy上看到这个奇怪的问题.

系统是带有RAID10磁盘和3Gb RAM的Core i7-920,尽管这可能除此之外.它上面有多个Samba共享.每当有人将大量(多个演出)上传到共享时,系统响应性就会显着下降(显着).

文件系统:ReiserFS(v3)

vmstat和top都没有显示I / O的显着等待时间,非常少的阻塞进程(例如4个核心系统的2个),偶尔写入~13000个块到磁盘.平均.负载持续低于0.5(同样系统是四核,启用HT,因此它有8个逻辑核心).

但是,即使我移动鼠标光标也严重滞后……

这是在传入大量网络I / O期间的典型vmstat输出

vmstat -n 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0 419268  93724  48052 2071148    0    0     9     3   11    4  1  1 95  2
 1  0 419268  91560  48052 2073292    0    0     0     0 2396 5716  5  1 94  0
 0  0 419268  89636  48056 2075164    0    0     0     0 2173 5537  2  1 97  0
 2  0 419268  87836  48056 2077136    0    0     0     0 2057 5216  1  1 98  0
 1  0 419268  85716  48060 2078812    0    0     0 10104 2108 5261  2  1 97  0
 0  0 419268  91940  48060 2071748    0    0     0     0 2221 6153  2  1 97  0
 2  0 419268  90368  48064 2073640    0    0     0     0 2104 5384  1  1 98  0
 0  0 419268  89000  48064 2075092    0    0     0     0 1781 4700  1  1 98  0
 1  0 419268  87140  48064 2076640    0    0     0     0 2045 5104  1  1 98  0
 1  1 419268  85584  48068 2078240    0    0     0 10112 1945 4343  2  1 91  7
 0  0 419268  92668  48068 2071764    0    0     0    16 2064 5197  2  1 96  1

解决方法

您可以尝试使用IO调度程序.默认的IO调度程序是CFQ,它适用于桌面,但我的经验是,对于文件服务器,截止日期往往更好.您可以随时更改IO计划程序,以便您可以轻松地对其进行试验,以查看在您的情况下哪种方法最有效.

要列出可用的io调度程序,请使用此命令.

cat /sys/block/sdb/queue/scheduler

这应该返回noop预期截止日期[cfq]

要将调度程序更改为截止日期,请在相应的设备上使用以下命令.

sudo echo "deadline" > /sys/block/sdb/queue/scheduler

猜你在找的Linux相关文章