复制文件会导致磁盘滞后

我有一些在我的Debian 6.0 64位定制内核机器上运行的游戏服务器服务。

每当我安装一个新的服务时,我就滞后于当前正在运行的服务。

安装一个新的服务只涉及到提取文件到一个用户的目录,尽pipe我是以最低的优先级(很好的19和1000kbps的SCP限制)。

这次我在安装新服务的时候,以及发生延迟的时候,input了“vmstat 3”的输出。 我不擅长阅读,但我猜这是一些磁盘问题。

http://paste.ubuntu.com/1152249/

看到行号11-16的时间。

更新:

这是

df -h

输出: http : //paste.ubuntu.com/1152734/

而250G磁盘就是那些使用这些操作和服务的磁盘。

我build议更改系统上的I / O调度程序的默认值,然后重新testing文件副本。 根据您的内核版本, 您可能实际上将deadline调度程序设置为默认值 。 也许这是cfq调度程序更有意义的情况。

检查您的当前设置:

 cat /sys/block/<device>/queue/scheduler 

数据驱动器的块设备(如sda,sdb等)在哪里?
根据您目前设置的内容,您可以通过以下方式进行更改:

 echo deadline > /sys/block/<device>/queue/scheduler 

要么

 echo cfq > /sys/block/<device>/queue/scheduler 

testing你的文件副本…

您也可以通过将elevator=deadlineelevator=cfq附加到GRUB内核引导行并重新启动来在全局范围内执行此操作。

有几件事你可以做。 IO Scheduler是总体上最低的悬挂水果,不需要任何重大configuration。

其他一些要考虑的事情是增加文件系统的块大小。 对于大多数情况下适用的ext系列,默认值为4K。 但是,了解一些关于底层存储的信息很重要。 例如,如果您的磁盘在RAIDarrays中,您可能会发现将块大小等于条带大小是有好处的。 如果您正在使用标准磁盘检查来查看它是否正在使用4KB扇区(请参阅/ sys / block // queue / hw_sector_size)。 较新的磁盘将使用4K扇区。 如果你正在使用4K扇区,你可能希望做一些研究,以确保你的分区扇区正确的最大性能。 但是今天大多数Linux发行版都是这样解释的。 增加文件系统的块大小可以允许更大的数据块在磁盘上组合在一起,从而导致更less的查找操作。 然而,较大的块大小可能会导致磁盘空间减less大量需要less量块的文件更快。

ext文件系统也有一些关于IO读/写障碍的选项,看看其中的一些也是有益的。 另外,如果您有多个磁盘,您可能希望考虑将日志放在另一个磁盘上。 这将减less磁盘上的IO负载,从而产生更大的吞吐量。

使用ionice 。 空闲优先权将帮助你。

 ionice -c 3 <command>