盘点linux系统中的12条性能调优命令
来源:互联网 发布:安卓钢琴 知乎 编辑:程序博客网 时间:2024/06/03 19:19
命令:hdparm -t /dev/sda5打印:Timing buffered disk reads: 254 MB in 3.01 seconds = 84.34 MB/sec说明:能够指定具体的哪块硬盘进行查询的哦!
格式: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 [-n] [延时[次数]]R:运行和等待CPU时间片的进程数。长期大于CPU的个数,代表CPU不足B:等待资源的进程数,如果等待数量多,问题有可能处在I/O或者内存Swpd:切换到内存交换区的内存大小[以KB为单位]free:当前空闲的物理内存数量[以KB为单位]si:由磁盘调入内存so:由内存调入磁盘bi:从块设备读入数据的总量bo:写到块设备的数据总量bi+bo1000 如果超过1000,代表硬盘的读写速度有问题in:在某一时间间隔内观测到的每秒设备中断数[中断数太多对性能不好]cs:列表示每秒产生的上下文切换次数us+sy > 80%代表CPU资源不足us:用户进程消耗的CPU时间百分比sy:内核进程消耗的CPU时间百分比id:CPU处在空闲状态的时间百分比wa:IO等待所占用的时间百分比runq-sz:内存中可以运行的进程数plist-sz:系统中活跃的任务个数
任务计划 /etc/cron.d/sysstat日志目录 /var/log/sa查看方法 Sar –q –f /var/log/sa/sa10
dmesg 显示出开机启动的信息 lscpu 显示CPU信息 lscpu -p 显示CPU对应的节点数getconf LONG_BIT 获知主机的位数 getconf -a 查看全部的参数 /sys/class/dmi/id 可以查看Bios的信息 bios_*
strace –fc elinks –dump http://localhost
预先读取需要写入的量,然后再处理写请求,↑读到的值将会是设置值的一半↑。
设置读取到缓存中的数值越大.写入时就会因为数据量大而速度变慢。/sys/block/sda/queue/nr_requests 队列长度越大,硬盘IO速度会提升,但占用内存
/sys/block/sda/queue/scheduler 调度算法Noop、anticipatory、deadline、[cfq]
1、创建200M的/dev/sdb1 格式化为ext32、dumpe2fs /dev/sdb1查看文件系统功能中包含的has_journal3、Tune2fs –O ^has_journal /dev/sdb1 去掉默认原有的日志功能4、再分一个200M的分区./dev/sdb2. 日志卷的block必须等于 /dev/sdb1Mke2fs –O journal_dev –b 1024 /dev/sdb25、将/dev/sdb2作为/dev/sdb1的日志卷.Tune2fs –j –J device=/dev/sdb2 /dev/sdb1
对于网站文件,频繁的修改atime是没有意义的,会影响性能mount –o remount,noatime DEVICE 即可
默认是5秒提交一次日志,修改更长时间可以提高性能,但容易丢失数据。mount –o remount,commit=15 DEVICE
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
dumpe2fs /dev/sda1 tune2fs –m 10 /dev/sda1 保留block百分比 tune2fs –r 保留block数 保留的block过少,影响性能,保留的过多又浪费硬盘,默认是5%
学习了上面的性能调优命令和方法后,再总结几条调优的金句:
独立设备性能速度比集成的强,因为不占用主机整体资源
工程师一般不会远程管理计算机,需要提供日志等信息
硬盘空间越大,读取的速度越慢,可以考虑用多块硬盘组成一块较大空间
分区只是在硬盘上做标识,而不像格式化在做文件系统特性,所以速度快
硬盘越靠外侧速度越快[分区号越小越靠外区,所以将数据量大的首先分区].
程序开发者注重雇主的功能要求,系统管理员注重程序的资源开销
本文转载自:http://www.linuxprobe.com/linux-performance-tuning/
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/- 盘点linux系统中的12条性能调优命令
- 【Linux基础】用10条命令查看系统性能
- 十条命令检查Linux服务器性能
- Linux系统性能分析命令
- linux性能调优命令
- linux性能调优命令
- LINUX系统性能调优
- LINUX系统性能调优
- linux系统查看系统性能命令详解
- linux系统查看系统性能命令详解
- JVM性能调优中的命令总结
- Linux之我做系统性能调优时常用的一些命令
- Linux系统中的关机命令
- Linux系统中的关机命令
- Linux系统中的sort命令。。
- Linux系统中的关机命令
- Linux系统中的wc命令
- linux系统中的命令大全
- Python进行数据科学工作的简单入门教程
- hdu 3006(状态压缩)
- H264--1--编码原理以及I帧B帧P帧
- NYOJ20(dfs)
- KMP
- 盘点linux系统中的12条性能调优命令
- LeetCode 第 342 题(Power of Four)
- HDOJ 4135 Co-prime && NOJ 1922 count_prime
- OmniFocus汉化破解版
- 归并排序
- C++文本文件的读写
- Datastage9.1 Linux环境安装配置文档
- Oracel 64位客户端上plsql无法识别ORACLE_HOME解决方案
- MySQL并发复制系列一:binlog组提交