`
nihongye
  • 浏览: 102900 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux系统IO优化

阅读更多
1.启用写回机制,优化随机写:
ext3支持三种模式:
    journal_data,journal_data_ordered,journal_data_writeback
这三种模式在大多数情况下,性能从低到高,安全性从高到低,journal_data_writeback启用写回缓存,在遇到断电的情况会出现数据不一致问题(如,硬盘本身带有写回缓存,默认也是启用的,断电同样的有问题;磁盘阵列控制卡也带有比较多的缓存),写回缓存的主要作用是能对随机读写,起到优化作用。
ubuntu下:可以通过 sudo tune2fs -o journal_data_writeback /dev/hdx..来启用写回机制
注意:不要在/etc/fstab直接增加data=writeback的mount参数,会出现EXT3fs cannot change data mode on remount的错误

2.noatime
在读取,写文件时,文件系统会写入文件的访问时间,通过指定noatime,可以省略写入读取文件的访问时间(注意,可能影响一下软件的正常运行),在/etc/fstab可以指定noatime,如下:
/dev/hda5      /media/hda5   ext3 defaults,noatime 0 2

其它优化手段,如果内存很大,可以控制swappness参数到20,减少应用的内存被交换到交换分区中,默认是60,因情况太复杂,这个参数的调整很难有普适的效果。
使用内存来优化:tmpfs具备先使用内存->然后使用swap的特性,/dev/shm就是这种类型,可以适当利用,重启后数据丢失。

基本检测手段
检测硬盘的读效率:hdparm -tT /dev/hda。
检测硬盘的写效率:time dd if=/dev/zero of=/media/hda5/tmp/my-file bs=4k count=65536
写入字符到/media/hda5/tmp/my-file文件,bs为块大小,count为快数
系统IO情况:vmstat,如果wa大说明瓶颈在io上。iostat用于监视io情况
分享到:
评论

相关推荐

    Linux Cgroup 技术 与 智能手机系统 IO 优化

    Linux Cgroups(控制组)技术是Linux内核的一个功能,旨在限制、记录、隔离和...总之,Cgroups技术在Linux系统中的应用范围非常广泛,尤其在虚拟化环境及智能手机资源管理中,它提供了一种高效、可控的资源分配机制。

    Linux系统性能优化

    Linux系统性能优化是确保系统高效稳定运行的重要手段,涉及多个层面的考量和操作。在进行性能优化之前,我们需要了解影响Linux系统性能的各种因素,并且掌握一系列优化工具与方法。 一、影响Linux性能的各种因素 1...

    linux IO优化

    ### Linux IO优化详解 #### 一、Linux IO调度器概览 Linux系统中的IO调度算法是操作系统内核的重要组成部分,负责管理和调度磁盘I/O请求,以提高系统的整体性能。根据不同的应用场景,Linux提供了多种I/O调度算法...

    漫谈linux文件IO

    通过深入理解 Linux 文件 I/O 的各个层面及其工作原理,我们可以更有效地优化应用程序中的 I/O 操作,进而提升整个系统的性能。无论是选择合适的缓冲策略,还是利用特定的技术如 `mmap` 或 `O_DIRECT`,都需要根据...

    【Linux系统】深入解析Linux IO对象:从基础概念到性能优化的全面指南Linux IO对象的核心

    适合人群:对Linux系统有一定了解并希望深入学习IO机制的开发者和系统管理员,特别是工作1-3年的研发人员。 使用场景及目标:①理解Linux IO对象的基本概念及其在系统中的作用;②掌握不同类型IO对象的特点和应用...

    Linux下IO读写工具abu-1.0

    `ru`(run time)和`adu`(average disk utilization)是经典的Linux系统监控工具。`ru`用于收集和显示系统运行时的资源使用统计信息,包括CPU使用率、内存利用率等。而`adu`则专注于磁盘I/O性能,可以监测磁盘的...

    linux文件IO编程ppt

    在Linux系统中,文件I/O(Input/Output)编程是开发者必须掌握的重要技能之一,尤其对于系统级编程和驱动开发人员来说更为关键。本讲座主要围绕"Linux文件IO编程"展开,由知名的教育机构华清远见出品,质量可靠,...

    操作系统Linux文件IO函数详解:文件操作核心技术与实践应用介绍了Linux文件IO

    ② 深入理解Linux系统底层机制,掌握文件IO函数的具体使用方法;③ 提高代码性能和稳定性,优化文件操作流程。 阅读建议:本文内容较为详尽,建议读者结合实际编程项目,逐步实践文中提到的各种函数和操作。特别是在...

    linux下IO口驱动(2)

    在现代Linux系统中,GPIO(通用输入/输出)接口广泛用于控制IO口。GPIO框架提供了一套标准的API,使得驱动程序可以方便地注册、配置和操作GPIO引脚。配置GPIO引脚为输出模式后,即可设置其电平高或低,实现对IO口的...

    【Linux编程】深入解析Linux标准IO函数:核心概念、常用函数及实际应用Linux标准IO函数

    适用人群:有一定C语言基础,从事Linux系统编程或对文件操作感兴趣的开发者。 使用场景及目标:①理解Linux标准IO函数的基本概念、核心原理及其实现机制;②掌握文件打开、关闭、读写、定位等常用操作;③熟悉缓冲区...

    Linux操作系统性能监测:磁盘IO篇

    Linux系统通过多种机制优化磁盘和内存之间的数据交互,以提高整体系统性能。其中最为关键的是虚拟内存管理和内存缓存技术。 ##### 内存页与缺页中断 - **内存页**:Linux系统中,内存和磁盘之间的数据传输是以固定...

    linux direct io 技术应用

    Linux Direct I/O(直接I/O)技术是一种优化数据读写性能的方法,特别是在处理大数据和存储系统时非常有用。它允许应用程序绕过操作系统内核的页缓存,直接与硬件设备进行交互,从而减少了数据在内存和磁盘之间传输...

    Linux系统编程教程PPT

    **Linux系统编程教程PPT** 本教程集合了Linux系统编程的核心知识,涵盖了多个关键领域,旨在帮助学习者深入理解Linux操作系统及其编程接口。通过这些PPT资料,你可以系统地学习和掌握以下主要内容: 1. **计算机...

    在Linux系统中IO调度的选择

    ### 在Linux系统中IO调度的选择 #### I/O调度概述 在Linux系统中,I/O调度算法扮演着极其重要的角色,特别是在多个进程同时竞争磁盘I/O资源时。它负责优化请求的顺序和时机,以达到最佳的整体I/O性能。本文将详细...

    03linux内核IO性能优化及块BIO处理

    在Linux系统中,每个块设备都有一个与之关联的请求队列(request_queue),这是处理I/O请求的核心结构。在块设备初始化时,会分配并初始化这个请求队列,同时可以为驱动程序指定特定的IO调度算法,如noop、deadline...

    Linux IO数据通道我理解

    在Linux系统中,输入/输出(IO)数据通道的处理是一个复杂的过程,涉及到多个层次的协作与交互。了解这些层次及其工作原理对于深入理解Linux系统的IO机制至关重要。 1. **用户空间层**:应用程序通过标准的系统调用...

    linux磁盘io调度分析

    - CFQ 是一种公平的I/O调度算法,默认情况下被选为Linux系统的默认I/O调度器。 - 它通过时间片轮转的方式确保每个进程都有机会执行I/O操作,从而提高了整体的公平性。 - CFQ 特别适用于多媒体系统,例如播放音频或...

    【Linux编程】深入解析Linux标准IO库:高效文件操作的核心技术与应用实例Linux标准IO库

    内容概要:本文详细介绍了Linux标准IO库,强调其在Linux编程中的重要性。标准IO库是C标准库的一部分,定义在中,提供了诸如fopen、fread、fwrite、fclose、fseek和ftell等函数,用于高效处理文件的打开、读取、写入...

    Linux性能优化之IO子系统

    本文介绍了对LinuxIO子系统性能进行优化时需要考虑的因素,以及一些IO性能检测工具。本文的大部分内容来自IBMRedbook-LinuxPerformanceandTuningGuidelines文件系统是内核的功能,是一种工作在内核空间的软件,访问...

    Linux IO数据通道我理解之分享

    在Linux系统中,输入/输出(Input/Output,简称IO)操作是一项基础而重要的功能。为了更好地管理和优化IO操作,Linux内核设计了一套复杂的IO数据通道处理机制。这一机制主要由几个关键层次构成: 1. **用户空间与...

Global site tag (gtag.js) - Google Analytics