linux系统调优相关的命令
uptime top ps iostat iotop
1.uptime查看CPU负载相关工具
[[email protected] ~]# uptime
08:28:38 up 49 min, 2 users, load average: 0.00, 0.13, 0.35
- up 49 min : 系统运行时间,说明此服务器连续运行49分钟了
- 2 users :当前登录用户数
- load average :0.00 0.13 0.35 系统负载,即任务队列的平均长度。三个数值分别是 1分钟、5分钟、15分钟前到现在的平均值。
如果服务器的CPU为1核心,则load average中的数字 >=3 负载过高,
如果服务器的CPU为4核心,则load average中的数字 >=12 负载过高。
2.top找出系统中使用CPU最多的进程
[[email protected] ~]# top
- 按大写P,可以使用CPU使用频率来排序显示
- 按大写M 按照内存占用排序
3. ps
- 按照实际使用CPU,从大到小排序显示所有进程列表
[[email protected] ~]# ps -aux --sort -pcpu | more
-pcpu 可以显示出进程绝对路径,方便查找木马程序运行的路径
- 按照实际使用内存,从大到小显示所有进程列表
- [[email protected] ~]# ps -aux --sort -rss | more // 降序
- [[email protected] ~]# ps -aux --sort rss | more // 升序
4. iostat
安装iostat:
rpm -ivh /mnt/Packages/sysstat-9.0.4-18.el6.x86_64.rpm
常用参数:
-d 仅显示磁盘统计信息
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL 用于显示块设备及系统分区的统计信息.
[[email protected] ~]# iostat -d -k -p /dev/sda
注:
每列含意:
kB_read/s 每秒从磁盘读入的数据量,单位为K.
kB_wrtn/s 每秒向磁盘写入的数据量,单位为K.
kB_read 读入的数据总量,单位为K.
kB_wrtn 写入的数据总量,单位为K.
测试: 给磁盘写入一些内容, 写入时尽可能不读磁盘?
[[email protected]~]# dd if=/dev/zero of=a.txt bs=10M count=1000 ; sync
读入的数据用/dev/zero , /dev/zero不会读磁盘的。
sync #把内存中的数据快速写到磁盘上。 只做dd不执行sync,不容易看不出写入效果
5. iotop
查看哪个进程使用磁盘读写最多
安装: rpm -ivh /mnt/Packages/iotop-0.3.2-3.el6.noarch.rpm
参数:
-o, -only 只显示在读写硬盘的程序
-d SEC, -delay=SEC 设定显示时间间隔。 刷新时间
退出,按q或ctrl+C
例:
[[email protected] ~]# iotop -o -d 1 #显示正在使用磁盘的进程
在另一个终端对磁盘进行大量读操作,执行:
[[email protected]~]# find /