常见调优命令的使用
cpu负载相关的工具
- uptime
[[email protected] ~]# uptime
15:34:07 up 2:55, 4 users, load average: 0.00, 0.00, 0.00
15:34:07 : 当前时间
up 2:55 系统运行时间
4 users: 当前用户登录数
[[email protected] ~]# w
15:35:51 up 2:57, 4 users, load average: 0.00, 0.00, 0.00
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root tty1 :0 11Feb20 22days 8.44s 8.44s /usr/bin/Xorg
root pts/0 :0.0 11Feb20 1:13m 0.02s 0.02s /bin/bash
root pts/1 192.168.1.4 Mon15 2days 0.06s 0.06s -bash
root pts/2 192.168.1.4 14:19 0.00s 0.31s 0.15s w
load average: 0.00, 0.00, 0.00 系统负载,也就是任务队列的平均长度。三个数值分别表示 1分钟,5分钟,15分钟前到现在的平均值
举例:
服务器A DELL R720 load average:1.11, 0.08, 0.01 1核
服务器B DELL R730 load average: 5.25, 7.22, 60.1 1核
服务器C DELL R720 load average:10.15, 1011, 10.01 4核
答案: 服务器B负载过高
经验: 单核心,1分钟内系统平均负载不超过3. 4核心不要超过12.
从高往低说明负载是下降的
从低往高的说明负载上升的
问题1.: 找出系统中占用CPU最多的进程
问题2: cpu一直飚高,如何处理
[[email protected] ~]# top
top - 15:51:57 up 3:13, 4 users, load average: 0.00, 0.00, 0.00
Tasks: 164 total, 1 running, 163 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3925824k total, 974300k used, 2951524k free, 93056k buffers
Swap: 285688k total, 0k used, 285688k free, 431884k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
264 root 20 0 0 0 0 S 0.3 0.0 0:00.59 jbd2/sda2-8
1521 root 20 0 255m 8612 5208 S 0.3 0.2 0:12.18 vmtoolsd
1 root 20 0 19364 1556 1232 S 0.0 0.0 0:01.48 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.12 ksoftirqd/0
按照实际使用cpu,从大到小来排序显示所有进程
[[email protected] ~]# ps -aux --sort -pcpu |more
-pcpu 可以显示绝对路径,方便找出木马进程
- 查看cpu信息
[[email protected] ~]# cat /proc/cpuinfo
processor : 0 支持一个cpu
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
stepping : 3
cpu MHz : 2592.002
cache size : 6144 KB
问题: ps 中的VIRT , RES, HSR?
VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等;
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用.
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out;
2、包含其他进程的共享;
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反;
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小。
SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存;
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;4
- mpstat
[[email protected] ~]# mpstat
Linux 2.6.32-431.el6.x86_64 (xinsz08-1) 2020年03月05日 _x86_64_ (1 CPU)
16时14分30秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
16时14分30秒 all 0.30 0.01 0.39 0.95 0.00 0.01 0.00 0.00 98.33
[[email protected] ~]#
问题: 你们公司用的操作系统是什么?
low: 我们用的centos
high: 我们用的是centos6.7的版本
great: 我们用的centos, 系统版本6.7,内核用的是2.6.32-431 64位的
%usr 用户控件CPU使用占比
%nice 低优先级进程使用CPU占比,nice大于0
%sys 内核空间CPU使用占比
%iowait cpu等待Io占比
%irq cpu处理硬中断占比
%soft 处理软中断的cpu占比
%steal %guest 与虚拟机有关
%idle cpu空间时间占比
内存相关的运行状态工具
free
[[email protected] ~]# free -m
total used free shared buffers cached
Mem: 3833 949 2884 0 91 421
-/+ buffers/cache: 435 3397
Swap: 278 0 278
[[email protected] ~]#
[[email protected] ~]# cat /proc/meminfo
MemTotal: 3925824 kB
MemFree: 2953928 kB
Buffers: 93632 kB
Cached: 432000 kB
SwapCached: 0 kB
Active: 433664 kB 活跃内存
Inactive: 333508 kB 非活跃的内存
Active(anon): 241564 kB
Inactive(anon): 4332 kB
Active(file): 192100 kB
查看与io运行相关的工具
[[email protected] ~]# tune2fs -l /dev/sda1 |grep size
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Block size: 1024 #1个字节,一个扇区512字节
Fragment size: 1024
Flex block group size: 16
Inode size: 128
[[email protected] ~]#
如何通过iostat查看IO是否存在瓶颈
【[email protected] ~]# rpm -ivh /mnt/Packages/sysstat-9.0.4-22.el6.x86_64.rpm
warning: /mnt/Packages/sysstat-9.0.4-22.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
package sysstat-9.0.4-22.el6.x86_64 is already installed
[[email protected] ~]# iostat -d -k -p /dev/sda
Linux 2.6.32-431.el6.x86_64 (xinsz08-1) 2020年03月05日 _x86_64_ (1 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.54 35.36 7.39 495578 103499
sda1 0.05 0.79 0.00 11021 47
sda2 2.46 34.42 7.38 482425 103452
sda3 0.02 0.11 0.00 1528 0
上一篇: MySQL创建、删除数据表