欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

常见调优命令的使用

程序员文章站 2022-05-30 16:30:51
...

cpu负载相关的工具

  1. 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 可以显示绝对路径,方便找出木马进程

  1. 查看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

  1. 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



相关标签: linux运维教学