linux性能调优

浅谈linux性能调优之三:分区格式化之前的考虑

我的梦境 提交于 2019-12-03 01:47:42
有这么一种特殊情况可能在生产环境下发生:系统的某个ext3文件分区,当用户往此分区上写文件时,提示磁盘空间已满,但用df -h命令查 看时发现此分区磁盘使用量是60%,请分析出现这种情况是由什么导致的,答案是inode已经耗尽! 为什么呢 ? 给出一个ext*文件系统的结构图 在Linux中进行格式化必须考虑Block与inode,Block还好理解,它是磁盘可以记录的最小单位,是由数个扇区组成,所以大小通常为 n*512Bytes,例如4K。 那么inode是什么呢 ? Block是记录文件内容的区域,inode则是记录该文件的属性及其放置在哪个Block之内的信息。每个inode分别记录一个档案的属性与这个档案 分布在哪些datablock上(也就是我们说的指针,有的地方也叫索引编号)。 具体如下:     ● inode 编号   ● 用来识别文件类型,以及用于 stat C 函数的模式信息   ● 文件的链接数目  ● 属主的 UID ● 最近一次访问的时间 ● 属主的组 ID(GID)  ● 文件的大小  ● 文件所使用的磁盘块的实际数目  ● 最近一次修改的时间    ● 最近一次更改的时间 小结:inode两个功能:记录档案属性和指针所以,每个文件都会占用一个inode。当Linux系统要查找某个文件时,它会先搜索inode table找到这个文件的属性及数据存放地点

浅谈linux性能调优之一:磁盘分区策略

旧街凉风 提交于 2019-12-01 17:06:56
对于服务器而言,不管是windows系统,linux系统,分区情况影响系统性能.磁盘分区之后再格式化成某一格式的系统文件,最后在存储用户或系统数据,数据所在分区容易读到数据则响应速度越快.当然也有相反的情况,严重可出现“数据饥饿” 在这之前我们必须先了解磁盘的一些特性(影响I/O的物理因素): 1> 存储密度 (越靠外道存储密度越大),(转速相同,靠外数据读入较多) -----存放用户数据 划分分区:在磁盘上划分一定范围内的扇区 格式化:在分区基础上,标识每个扇区 划分分区速度 > 格式化速度 注意:分区号越低越在外边 2> 总线速度远远低于kernel处理 3> 寻道时间(在不同磁道切换的时间) 在看一张磁盘结构图: 大家先了解“扇区是从外围开始计数的”,具体可以在网上找一些资料参考一下,默认分区都是从外围开始的,但是我们在使用时必须结合磁盘的物理属性和自己的需求来划分分区。原则:越是频繁访问的数据,存储在磁盘的最外侧。 实施1:安装rhel6.0时,无法指定起始扇区号,只能在划分分区时要不就先划分一些存储频繁访问的分区,剩下的给系统使用。 注意:分区编号低的给频繁访问的数据 实施2:要不就自己计算使用具体的柱面数,自己指定起始位置(这种情况下一定要做好记录) 一个柱面大概7M 下面给出一些建议: 1./,swap,/var,/home,

浅谈linux性能调优之二:优化swap分区

泄露秘密 提交于 2019-11-30 11:50:34
先说说什么是swap分区以及它的作用? Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序 使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢 复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。 分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。 如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生 出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。 通常情况下,Swap空间应大于或等于物理内存的大小,最小不应小于64M,通常Swap空间的大小应是物理内存的2-2.5倍。但根据不同的应用,应有 不同的配置:如果是小的桌面系统,则只需要较小的Swap空间