千锋教育-做有情怀、有良心、有品质的IT职业教育机构

400-811-9990
当前位置:千锋视频教程 > linux视频教程  >  提升linux系统性能的有效方法

提升linux系统性能的有效方法

时间:2017-12-20 13:55:39     来源:千锋视频教程 作者:教学部

  Command_line:

  linux视频教程

  调优命令详解

  hdparm

  命令:hdparm -t /dev/sda5

  打印:Timing buffered disk reads: 254 MB in 3.01 seconds = 84.34 MB/sec

  说明:能够指定具体的哪块硬盘进行查询的哦!

  iostat

  命令:iostat -d 1 5

  格式:iostat [ -c | -d ][ -k ][ -t ][ -V ] [ -x [ device ] ] [ interval ]

  描述:iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况,同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析,每1秒检测统计一次(共5次)。

  blk_read/s 每秒读取的数据块数

  blk_wrtn/s 每秒写入的数据块数

  blk_read 表示读取的所有数据块数

  blk_wrtn 表示写入的所有数据块数

  vmstat

  名称:报告虚拟内存的统计信息

  格式:vmstat [-n] [延时[次数]]

  R: 运行和等待CPU时间片的进程数。长期大于CPU的个数,代表CPU不足

  B: 等待资源的进程数,如果等待数量多,问题有可能处在I/O或者内存

  Swpd: 切换到内存交换区的内存大小[以KB为单位]

  free: 当前空闲的物理内存数量[以KB为单位]

  si: 由磁盘调入内存

  so: 由内存调入磁盘

  bi: 从块设备读入数据的总量

  bo: 写到块设备的数据总量

  bi+bo 1000 如果超过1000,代表硬盘的读写速度有问题

  in: 在某一时间间隔内观测到的每秒设备中断数[中断数太多对性能不好]

  cs: 列表示每秒产生的上下文切换次数

  us+sy > 80% 代表CPU资源不足

  us: 用户进程消耗的CPU时间百分比

  sy: 内核进程消耗的CPU时间百分比

  id: CPU处在空闲状态的时间百分比

  wa: IO等待所占用的时间百分比

  runq-sz: 内存中可以运行的进程数

  plist-sz: 系统中活跃的任务个数

  sar

  任务计划 /etc/cron.d/sysstat

  日志目录 /var/log/sa

  查看方法 Sar –q –f /var/log/sa/sa10

  将Ext3文件系统的日志功能独立

  1、创建200M的/dev/sdb1 格式化为ext3

  2、dumpe2fs /dev/sdb1查看文件系统功能中包含的has_journal

  3、Tune2fs –O ^has_journal /dev/sdb1 去掉默认原有的日志功能

  4、再分一个200M的分区./dev/sdb2. 日志卷的block必须等于 /dev/sdb1

  Mke2fs –O journal_dev –b 1024 /dev/sdb2

  5、将/dev/sdb2作为/dev/sdb1的日志卷.

  Tune2fs –j –J device=/dev/sdb2 /dev/sdb1

  关闭记录文件系统atime

  对于网站文件,频繁的修改atime是没有意义的,会影响性能

  mount –o remount,noatime DEVICE 即可

  修改文件日志的提交时间

  默认是5秒提交一次日志,修改更长时间可以提高性能,但容易丢失数据。

  mount –o remount,commit=15 DEVICE

  RAID轮循写入调优,对于0|5|6

  chunk size.轮循一次写入的字节.默认是64K,只要没有写满,就不会移动到下一个设备

  设置在每个硬盘都只写一个文件就切换到下一块硬盘,那么如果都是1K的小文件,就会将系统资源浪费在切换硬盘上

  如果将chunk size的值设置很大,比如100M,那么也就没有了意义,还不如用一块硬盘。

  Stripe size.条带大小,并不是有数据就写入,而是设置每次写入的数据量,一般是16K写一次。

  所以.Chunk size(64K)/stripe size(16K),也就是说每块硬盘写四次。

  ------------------------------------算当前应该把chunk size调成多少------------------------------------

  使用iostat –x查看自开机以来每秒的平均请求数avgrq-sz

  chunk size = 每秒请求数*512/1024/磁盘数,取一个最紧接2倍数的整数

  stride = chunk size /block(默认是4k)

  创建raid并设置chunk sinze

  mdadm –C /dev/md0 –l 0 –n3 –chunk=8 /dev/sdb[123]

  修改raid

  mke2fs –j –b 4096 –E stride=2 /dev/md0

  硬盘的block保留数

  dumpe2fs /dev/sda1

  tune2fs –m 10 /dev/sda1 保留block百分比

  tune2fs –r 保留block数

  保留的block过少,影响性能,保留的过多又浪费硬盘,默认是5%

  调优金句

  独立设备性能速度比集成的强,因为不占用主机整体资源

  工程师一般不会远程管理计算机,需要提供日志等信息

  硬盘空间越大,读取的速度越慢,可以考虑用多块硬盘组成一块较大空间

  分区只是在硬盘上做标识,而不像格式化在做文件系统特性,所以速度快

  硬盘越靠外侧速度越快[分区号越小越靠外区,所以将数据量大的首先分区]

  程序开发者注重雇主的功能要求,系统管理员注重程序的资源开销

  千锋linux视频教程每天分享技术知识,更多免费视频教程关注千锋!

  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2层、南区服务楼2层
    咨询电话:400-186-9990 010-82790226-801
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、大数据开发培训、VR/AR混合
    现实培训、Python培训、Linux云计算培训、软件测试培训、Android培训、iOS培训、好程序员
  • 深圳西部硅谷校区地址:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619
    深圳大学城校区地址:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-33582485-801(硅谷校区)0755-86660670-801(大学城校区)
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android培训、iOS培训
  • 上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-56166283/56166279
    面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训、好程序员
  • 郑州校区地址:郑州市金水区纬五路21号河南教育学院综合楼(经纬中学楼)7/8层
    咨询电话:0371-55191750 400-186-9990
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 广州校区地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-186-9990
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 大连校区地址:辽宁省大连市甘井子区软件园路2号东软信息学院B5座一楼
    咨询电话:0411-39026086 400-186-9990
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、UI交互设计培训、Android课程培训、iOS课程培训
  • 武汉校区地址:武汉市光谷大道61号智慧园21号楼2层
    咨询电话:027-65523826
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    咨询电话:028-83178771
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 西安校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85260160
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训
  • 杭州校区地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术学院南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 重庆校区地址:重庆市高新区科园一路2号大西洋国际12-1
    咨询电话:023-68883009
    面授课程:JavaEE+云数据课程培训
  • 长沙校区地址:湖南省长沙市岳麓区麓谷企业广场A2栋三单元306号
    咨询电话:0731-85513010/85513210
    面授课程:JavaEE+云数据课程培训
  • 哈尔滨校区地址:哈尔滨市松北区创新一路699号科技创新城19号楼五楼
    咨询电话:15663846969
    面授课程:全栈HTML5+培训
  • 千锋教育服务号

    了解千锋动态
    关注千锋教育服务号

  • 千锋互联服务号

    扫码匿名提建议
    直达CEO信箱