共计 1987 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘 IO 吞吐量异常,数据处理速度低于预期值的情况,又或者如 CPU、内存、硬盘、网络等系统资源长期处于耗尽的状态,那么这篇文章将着实的能帮助到你,如果没有也请先收藏起来。 |
![盘点 linux 系统中的 12 条性能调优命令。 盘点 linux 系统中的 12 条性能调优命令。](https://s.xgss.net/sky/2024-07-25/cb2f28d62f7c745f1617c07f96778bc4.jpg)
1,hdparm 查看硬度读取速度:
命令:hdparm -t /dev/sda5
打印:Timing buffered disk reads: 254 MB in 3.01 seconds = 84.34 MB/sec
说明:能够指定具体的哪块硬盘进行查询的哦!
2,iostat 检测磁盘 IO 情况:
格式:iostat [-c | -d] [-k] [-t] [-V] [-x [ device] ] [interval]
描述:iostat 是 I /O statistics(输入 / 输出统计)的缩写,iostat 工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况,同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析,每 1 秒检测统计一次(共 5 次)。
3,vmstat 报告内存以及 CPU 状况:
名称:报告虚拟内存的统计信息
格式: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: | 系统中活跃的任务个数 |
4,sar 检测 CPU 资源:
任务计划 /etc/cron.d/sysstat
日志目录 /var/log/sa
查看方法 Sar –q –f /var/log/sa/sa10
5,lscpu 显示 CPU 信息:
dmesg 显示出开机启动的信息
lscpu 显示 CPU 信息
lscpu -p 显示 CPU 对应的节点数
getconf LONG_BIT 获知主机的位数
getconf -a 查看全部的参数
/sys/class/dmi/id 可以查看 Bios 的信息 bios_*
6,strace 显示程序的调用:
strace –fc elinks –dump http://localhost
7, 调优硬盘优先写入 / 读取数据用:
8, 将 Ext3 文件系统的日志功能独立:
9, 关闭记录文件系统 atime:
对于网站文件,频繁的修改 atime 是没有意义的,会影响性能
mount –o remount,noatime DEVICE 即可
10、修改文件日志的提交时间:
默认是 5 秒提交一次日志,修改更长时间可以提高性能,但容易丢失数据。mount –o remount,commit=15 DEVICE
11,RAID 轮循写入调优, 适用于 0 /5/6:
12, 硬盘的 block 保留数:
dumpe2fs /dev/sda1
tune2fs –m 10 /dev/sda1 保留 block 百分比
tune2fs –r 保留 block 数
保留的 block 过少, 影响性能, 保留的过多又浪费硬盘, 默认是 5%
学习了上面的性能调优命令和方法后,再总结几条调优的金句:
独立设备性能速度比集成的强,因为不占用主机整体资源
工程师一般不会远程管理计算机,需要提供日志等信息
硬盘空间越大,读取的速度越慢,可以考虑用多块硬盘组成一块较大空间
分区只是在硬盘上做标识, 而不像格式化在做文件系统特性, 所以速度快
硬盘越靠外侧速度越快 [分区号越小越靠外区, 所以将数据量大的首先分区].
程序开发者注重雇主的功能要求,系统管理员注重程序的资源开销
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)