`

LINUX下磁盘参数设置

 
阅读更多
  今天看到这篇BAIDU的文,十分不错,文章在:
http://stblog.baidu-tech.com/?p=1992
其中涉及到LINUX内核中的若干脏页和内核的参数,现转载如下:

一、2.6内核下
/proc/sys/vm/dirty_ratio
这个参数控制文件系统的文件系统写缓冲区的大小,单位是百分比,表示系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,:

  echo '1' > /proc/sys/vm/dirty_ratio
/proc/sys/vm/dirty_background_ratio
这个参数控制文件系统的pdflush进程,在何时刷新磁盘。单位是百分比,表示系统内存的百分比,意思是当写缓冲使用到系统内存多少的时候,pdflush开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,:

  echo '1' > /proc/sys/vm/dirty_background_ratio
/proc/sys/vm/dirty_writeback_centisecs
这个参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒。如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。设置方法如下:

  echo "100" > /proc/sys/vm/dirty_writeback_centisecs
如果你的系统是短期地尖峰式的写操作,并且写入数据不大(几十M/次)且内存有比较多富裕,那么应该增大此数值:

echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
/proc/sys/vm/dirty_expire_centisecs
这个参数声明Linux内核写缓冲区里面的数据多“旧”了之后,pdflush进程就开始考虑写到磁盘中去。单位是 1/100秒。缺省是 30000,也就是 30 秒的数据就算旧了,将会刷新磁盘。对于特别重载的写操作来说,这个值适当缩小也是好的,但也不能缩小太多,因为缩小太多也会导致IO提高太快。

echo "100" > /proc/sys/vm/dirty_expire_centisecs
当然,如果你的系统内存比较大,并且写入模式是间歇式的,并且每次写入的数据不大(比如几十M),那么这个值还是大些的好。

6)           /proc/sys/vm/vfs_cache_pressure

该文件表示内核回收用于directory和inode   cache内存的倾向;缺省值100表示内核将根据pagecache和swapcache,把directory和inode   cache保持在一个合理的百分比;降低该值低于100,将导致内核倾向于保留directory和inode   cache;增加该值超过100,将导致内核倾向于回收directory和inode   cache

缺省设置:100

7)           /proc/sys/vm/min_free_kbytes

该文件表示强制Linux   VM最低保留多少空闲内存(Kbytes)。


缺省设置:724(512M物理内存)

8)           /proc/sys/vm/nr_pdflush_threads

该文件表示当前正在运行的pdflush进程数量,在I/O负载高的情况下,内核会自动增加更多的pdflush进程。


缺省设置:2(只读)

9)           /proc/sys/vm/overcommit_memory

该文件指定了内核针对内存分配的策略,其值可以是0、1、2。

0,   表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,   表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,   表示内核允许分配超过所有物理内存和交换空间总和的内存(参照overcommit_ratio)。


缺省设置:0

10)   /proc/sys/vm/overcommit_ratio

该文件表示,如果overcommit_memory=2,可以过载内存的百分比,通过以下公式来计算系统整体可用内存。

系统可分配内存=交换空间+物理内存*overcommit_ratio/100


缺省设置:50(%)

11)   /proc/sys/vm/page-cluster

该文件表示在写一次到swap区的时候写入的页面数量,0表示1页,1表示2页,2表示4页。


缺省设置:3(2的3次方,8页)

12)   /proc/sys/vm/swapiness

该文件表示系统进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换。


二、2.4内核下
通过修改文件/proc/sys/vm/bdflush实现。文件中的九个参数含义如下:

nfract:dirty缓冲在缓冲区中的最大百分比。超过这个值将bdflush进程刷新硬盘。当可用内存比较少的情况下,将引发大量的磁盘I/O。为了均衡磁盘I/O,可以保持一个比较低的值。

Ndirty:bdflush进程一次写入磁盘的最大dirty缓冲块数量。这个值比较大将导致I/O急剧增加,如果这个比较小,bdflush进程执行不够从而可能导致内存的瓶颈。

Dummy2 :未使用

Dummy3:未使用

Interval:kupdated工作和刷新的最小频率,默认值是5秒。最小值是0秒最大值是600秒。

Age_buffer:缓冲数据写到磁盘之前操作系统等待的最大时间。默认值是30秒,最小值是1秒最大值是6000秒。

Nfract_sync:dirty缓存激活bdflush进程同步的百分比。默认值是60%。

Nfract_stop:dirty缓存停止bdflush进程的百分比。默认值是20%。

Dummy5:未使用

分享到:
评论

相关推荐

    Linux磁盘维护命令详解

    以下是对Linux磁盘维护常用命令的详细讲解: 1. **fdisk**: 这是用于创建、修改和查看分区的命令。通过交互式界面,你可以创建新的分区、删除现有分区或更改分区类型。 2. **mkfs**: 这个命令用于格式化磁盘。例如...

    Linux 磁盘管理.doc

    Linux磁盘管理是系统运维中的核心任务之一,它直接影响到系统的稳定性和性能。在Linux环境中,有三个关键的命令用于磁盘管理:`df`、`du`和`fdisk`。 `df`命令用于检查文件系统的磁盘空间占用情况。通过这个命令,...

    linux下磁盘分区详解

    ### Linux下磁盘分区详解 #### 一、磁盘设备命名规则 在Linux系统中,磁盘设备的命名方式与Windows有所不同。对于IDE硬盘,其设备名称为`hdx`(其中`x`代表从`a`到`d`的字母,这是因为IDE硬盘最多只能有四个),而...

    linux磁盘io调度分析

    ### Linux磁盘IO调度分析 在现代操作系统中,磁盘输入输出(I/O)调度扮演着极其重要的角色,直接影响到系统的响应时间和整体性能。Linux作为一款广泛应用的操作系统,在磁盘I/O调度方面提供了多种策略来适应不同的...

    linux磁盘配额管理

    ### Linux磁盘配额管理详解 #### 实验背景与目的 磁盘空间是任何操作系统中宝贵的资源之一。在Linux环境中,有效地管理和分配磁盘空间对于维护系统的稳定性和提高资源利用率至关重要。磁盘配额功能允许管理员为...

    Linux全攻略之磁盘管理.doc

    本文主要探讨了Linux下的磁盘管理,包括磁盘空间的查看、文件系统的创建、挂载操作以及磁盘维护命令。 首先,`df`和`du`是两个用于检查磁盘空间的命令。`df`用于显示所有挂载点的磁盘空间使用情况,包括总空间、已...

    linux下测试磁盘io性能工具

    本文将详细介绍如何利用Linux下的工具进行磁盘I/O性能测试,以及如何编译和运行源码来实现图形化界面测试。 一、Linux中的磁盘I/O性能测试工具 1. **iostat**:这是Unix-like系统中的一个实用程序,用于报告CPU...

    linux磁盘配额.docx

    本文将详细介绍 Linux 下的磁盘配额配置过程。 一、标题和描述 Linux 磁盘配额可以对单一的文件系统进行操作,每一个分区都可以单独配置磁盘配额。Linux 下面可以针对 ext2 和 ext3 的文件系统来做磁盘配额。 二...

    Linux优化磁盘性能.pdf

    Linux 优化磁盘性能 ...Linux 系统中的磁盘性能优化需要考虑到多个因素,包括磁盘驱动器的参数、磁盘分区的大小和类型、系统的内核版本等。通过正确地调整这些参数和设置,可以达到更好的磁盘性能和系统稳定性。

    Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间

    在Linux系统中,使用Qt库开发应用程序时,可以利用各种系统接口来获取CPU使用率、内存占用、网络流量、磁盘I/O速度以及磁盘剩余空间等关键信息。以下将详细讲解如何通过Qt来实现这些功能。 1. CPU使用率: 在Linux...

    linux下挂载ntfs磁盘

    同时,可以通过`uid`和`gid`参数设置挂载点的拥有者和组,确保用户有合适的访问权限。 六、注意事项 1. 挂载过程中注意不要误操作,以免损坏磁盘。 2. 不推荐在NTFS分区上执行大量的写操作,因为这可能导致文件系统...

    linux磁盘分区:linux查看磁盘分区等命令和相关工具介绍

    Linux磁盘分区是管理和利用计算机存储资源的一个关键环节。Linux系统下磁盘分区的查看和管理涉及到多个命令和工具,以下将详细介绍几个核心的命令和工具及其使用方法。 ### df命令 df命令是查看文件系统磁盘空间...

    Linux 磁盘挂载

    本篇将深入讲解Linux磁盘挂载的相关知识点,包括基本概念、挂载过程、常用命令以及一些实际操作技巧。 首先,我们要理解“挂载”这个词在Linux中的含义。挂载(Mount)是指将一个文件系统与系统的某个目录关联起来...

    linux磁盘分区详解.doc

    Linux磁盘分区是系统管理的重要环节,特别是在服务器和高级用户环境中。Linux的磁盘分区与Windows有所不同,主要基于不同的文件系统和分区结构。在Linux中,磁盘设备名称通常是基于其接口类型的,例如IDE硬盘被标识...

    Linux主机磁盘维护文档

    Linux主机磁盘维护是系统...总的来说,Linux主机磁盘维护涉及多个方面,包括监控磁盘空间、定位并处理大文件、清理日志、优化系统设置等。只有做好这些工作,才能确保系统的健康运行,避免因磁盘问题导致的服务中断。

    Linux服务器配置与管理:Linux磁盘分区.pptx

    【Linux服务器配置与管理:Linux磁盘分区】 在Linux服务器的配置与管理中,磁盘分区是一个关键环节,它涉及到数据存储的安全性和系统的稳定性。本文将深入探讨Linux下的磁盘分区技术,包括MBR(主引导记录)和GPT...

    linux磁盘配额.pdf

    Linux 磁盘配额配置详解 Linux 磁盘配额是一种控制用户或组在文件系统中磁盘空间使用的机制。它可以对用户和组实施磁盘配额,限制他们在文件系统中的磁盘空间使用。Linux 下面可以针对 ext2 和 ext3 的文件系统来做...

    17-3-RHEL7-Linux+磁盘配额技巧

    在Linux系统中,磁盘配额是指对用户或用户组在特定文件系统上所能占用磁盘空间进行限制的一种管理方法。本文主要探讨了在Red Hat Enterprise Linux 7(RHEL 7)中实施磁盘配额的技巧,以帮助系统管理员更有效地管理...

    在Linux操作系统中设置磁盘限额简介

    1. **fstab 文件**:这是Linux系统中的一个关键配置文件,位于`/etc/fstab`,用于定义不同磁盘分区的挂载参数。 2. **usrquota**:这是一个标志,用来指示在挂载文件系统时启用用户级别的磁盘限额功能。 3. **quota....

    Redhat Linux系统下关于磁盘配额的设置

    下面将详细介绍在Redhat Linux下设置磁盘配额的步骤和相关命令。 首先,确认系统已经安装了quota包。可以运行`rpm -q quota`命令来检查。如果没有安装,需要使用`yum install quota`或`dnf install quota`进行安装...

Global site tag (gtag.js) - Google Analytics