linux 系统命令总结 【精华篇】

1. 查看CPU核数、内存

1.1 CPU相关命令

top uptime lscup pidstat
mpstat
sar
怀疑 CPU 存在瓶颈,可用sar -u和sar -q等来查看
怀疑内存存在瓶颈,可用sar -B、sar -r和sar -W等来查看
怀疑 I/O 存在瓶颈,可用sar -b、sar -u和sar -d等来查看

参考链接: Linux之CPU物理核与逻辑核

1.1 查看CPU 物理核数、逻辑核数

查看物理CPU个数

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

查看每个物理CPU中core的个数(即核数)

cat /proc/cpuinfo| grep "cpu cores"| uniq

查看逻辑CPU的个数

cat /proc/cpuinfo| grep "processor"| wc -l

1.2 top 使用

推荐链接: top命令参数详解

  • 更改显示内容
    通过按 f 键可以编辑显示内容,按f键后,
    ①当前是按照%CPU这一列来排序的
    ②可以通过上、下键来选择
    ③按右键可以选择整个列,然后按上、下键来移动整个列的显示位置,前移或后移,按回车确定
    ④按空格键来显示或隐藏该列,带的是显示,不带的是不显示
    ⑤按s键可以将当前列设置为排序列
    ⑥按q键退出
  • top的交互命令
    【1】敲top后,按键盘数字“1”可以监控每个逻辑CPU的状况:
    【2】敲top后,输入u,然后输入用户名,则可以查看相应的用户进程;
    【3】敲top后,top命令默认以K为单位显示内存大小,我们可以通过大写字母E来切换内存信息区域的显示单位,如下按一下E切换到MB、GB、TB、PB等
    【4】敲top后,输入h进入top命令的帮助文档,了解更多关于top的用法。

1.3 模拟CPU

下面命令会创建 CPU 负荷,方法是通过压缩随机数据并将结果发送到 /dev/null:
cat /dev/urandom | gzip -9 > /dev/null
如果你想要更大的负荷,或者系统有多个核,那么只需要对数据进行压缩和解压就行了,像这样:
cat /dev/urandom | gzip -9 | gzip -d | gzip -9 | gzip -d > /dev/null
按下 CTRL+C 来终止进程

1.4 CPU 负载分析

参考链接:cpu 负载和使用率

  • uptime 查看负载
    top - 19:56:09 up 1 day, 20:19, 3 users, load average: 2.89, 2.40, 3.13

分别是1分钟、5分钟、15分钟的平均Load。
Load这个东西怎么理解呢,就像一条马路,有N个车道,如果N个进程进入车道,那么正好一人一个,再多一辆车就占不到车道,要等有一个车空出车道。
在CPU中可以理解为CPU可以并行处理的任务数,那么就是“CPU个数 * 核数”,如果CPU Load = CPU个数 * 核数 那么就是说CPU正好满负载,再多一点,可能就要出问题了,有任务不能被及时分配处理器,那么保证性能的话,最好是小于CPU个数 * 核数 *0.7。

那么以哪个平均值为准呢?如果1分钟平均出现大于CPU个数 * 核数的情况,还不用担心,如果5分钟平均也是,那就要警惕了,15分钟平均也是这样,就要分析哪里出问题了,防范于未然

  • top 查看使用率
    按 P 对cpu使用排序
    按 1 查看每个cpu的使用率

CPU利用率超过100%的问题,top命令应该是把每个核的CPU占用率加起来,算一个和,于是多核情况下会出现超过100%。

2. 内存相关

参考链接:内存占用分析

2.1 内存相关命令

free vmstat top htop

2.2 free

free各个字段的含义:
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buffers 是对原始磁盘块的临时存储,也就是用来缓存磁盘的数据。
cached 是从磁盘读取文件的页缓存,也就是用来缓存从文件读取的数据。
在这里插入图片描述

2.3 内存负荷模拟

内存负荷模拟:通过在内存中创建文件系统然后往里面写文件来实现的
首先,创建一个挂载点,然后将 ramfs 文件系统挂载上去:

mkdir z
mount -t ramfs ramfs z/

第二步,使用 dd 在该目录下创建文件。这里我们创建了一个 128M 的文件:
参考链接:Linux 下的dd命令使用详解

dd if=/dev/zero of=z/file bs=1M count=128
#if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
#of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
#bs= 块大小。可以是任何数字后面接上 B(表示字节),K(表示 KB),M( 表示 MB)或者 G(表示 GB)。
#count= 要写多少个块。

第三步,测试完,恢复内存

rm z/file
umount z
rmdir z

3. 磁盘相关

3.1 磁盘相关命令

iostat df du lsblk

3.2 文件IO

3.3 磁盘负荷模拟

4. 网络I/O

4.1 网络I/0相关命令

ifconfig netstat ping nslookup tcpdump nc

5. tcp连接数

5.1 连接数相关命令

6. 系统压力测试工具

6.1 Linux性能工具图谱

在这里插入图片描述

6.2 stress & syssstat 安装

stress(Linux系统压力测试工具)和sysstat(Linux性能工具)

  • yum 安装
yum install -y sysstat       #安装mpstat命令软件
yum install -y epel-release  #安装epel软件库
yum install -y stress        #安装软件包
  • rpm 安装
wget -c http://pagesperso-orange.fr/sebastien.godard/sysstat-11.7.3-1.x86_64.rpm
sudo rpm -Uvh sysstat-11.7.3-1.x86_64.rpm

wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/s/stress-1.0.4-16.el7.x86_64.rpm
rpm -ivh stress-1.0.4-16.el7.x86_64.rpm 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值