查看CPU信息、使用率、核数

  1. 查看物理CPU个数
1
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
  1. 查看逻辑CPU个数
1
cat /proc/cpuinfo | grep "processor"| wc –l
  1. 每个物理CPU的核数
1
cat /proc/cpuinfo | grep "cpu cores" | uniq
  1. 也可以直接通过 lscpu 命令查看

    这是两个CPU,20核,支持超线程,40个逻辑CPU

  2. 查看是否支持超线程
    如果"siblings"和"cpu cores"一致,则说明不支持超线程,或者超线程未打开;
    如果"siblings"是"cpu cores"的两倍,则说明支持超线程,并且超线程已打开

1
cat /proc/cpuinfo |grep "sibling"|uniq
  1. 查看逻辑CPU个数以及CPU型号
1
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
  1. 查看CPU是32位运行还是64位运行
1
getconf LONG_BIT
  1. 获取CPU详细信息
1
cat /proc/cpuinfo
  1. top 命令查看CPU使用率
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
第一行(top)
13:44:03 : 系统当前时间
68 days, 20:13 : 系统从启动后到现在的运作时间
7 users : 当前登录到系统的用户数(确切的说是登录到用户的终端数,同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目)
load average : 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程
第二行(Tasks)
550 total : 当前系统进程总数
2 running : 当前运行中的进程数
557 sleeping : 当前处于等待状态中的进程数
0 stopped : 停止的进程数
0 zombie : 僵尸进程数
第三行(%Cpu)
8.1 us : 用户空间占用CPU百分比,不包含renice值为负的任务占用的CPU的时间
1.2 sy : 内核空间占用CPU百分比
0.0 ni : 用户进程空间内改变过优先级的进程占用CPU百分比
90.4 id : 空闲CPU百分比
0.0 wa : 等待I/O的CPU时间百分比
0.0 hi : CPU硬中断时间百分比
0.2 si : CPU软中断时间百分比
第四行(Mem)
26403968+total : 物理内存总量
24978953+used : 使用的物理内存量
14250160 free : 空闲的物理内存量
817276 buffers : 用作内核缓存的物理内存量
第五行(反映着交换分区(Swap)的使用情况,通常,交换分区被频繁使用的情况,将被视作物理内存不足而造成的)
0 total : 交换区总量
0 used : 使用的交换区总量
0 free : 空闲交换区总量
20137419+cached : 缓冲的交换区总量
进程信息:
PID : 进程的ID
USER : 进程的所有者
PR : 进程的优先级别,越小越优先被执行
NI : 值
VIRT : 进程占用的虚拟内存
RES : 进程占用的物理内存
SHR : 进程使用的共享内存
S : 进程的状态;S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU : 进程占用CPU的使用率
%MEN : 进程使用的物理内存和总内存的百分比
TIME+ : 该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值
COMMAND : 进程启动命令名称
top 运行中可以通过 top 的内部命令对进程的显示方式进行控制:
s 改变画面更新频率
l 关闭或开启第一部分第一行 top 信息的表示
t 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N 以 PID 的大小的顺序排列表示进程列表
P 以 CPU 占用率大小的顺序排列进程列表
M 以内存占用率大小的顺序排列进程列表
h 显示帮助
n 设置在进程列表所显示进程的数量
q 退出 top
s 改变画面更新周期

总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

查看操作系统信息

  1. 查看操作系统内核信息
1
2
3
4
5
6
7
8
9
10
uname -a	显示全部信息
-m 或 --machine 显示电脑类型
-r 或 --release 显示操作系统的发行编号
-s 或 --sysname 显示操作系统名称
-v 显示操作系统的版本
-p 或 --processor 输出处理器类型或"unknown"
-i 或 --hardware-platform 输出硬件平台或"unknown"
-o 或 --operating-system 输出操作系统名称
-- help 显示帮助
-- version 显示版本信息
  1. 查看操作系统版本
1
cat /etc/issue	或	cat /etc/centos-release	或	cat /etc/redhat-release
  1. 查看操作系统版本信息
1
cat /proc/version

查看内存使用率

  1. 查看内存详细信息
1
cat /proc/meminfo
  1. free 查看内存使用情况
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
total : 总计物理内存的大小
used : 已使用内存大小
free : 可用内存大小
Shared : 多个进程共享的内存总额
buffers/cached : 被 buffer 和 cache 使用的物理内存大小

free -b : 以bytes为单位来显示内存的信息
free -k : 以kb为单位来显示内存的信息
free -m : 以m为单位来显示内存的信息
free -g : 以G为单位来显示内存的信息
free -h : 以适于人类可读方式显示内存信息。-h与其他命令最大不同是-h选项会在数字后面加上适于人类可读的单位
free -l : 显示高低内存的利用率
free -t : 显示linux的全部内存(如果我们需要每列的总计信息,我们可以在 free 命令后面跟上 -t 选项。这会在字底部额外加入一行显示)
free -s N : 表示每隔N秒打印一次内存信息,直到用ctrl+c结束
free -c N : 表示重复打印内存信息N次
free -V : 显示版本信息

查看磁盘空间

  1. df 查看磁盘使用情况
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Filesystem : 设备名称,代表该文件系统时哪个分区
1K-blocks : 总磁盘大小,下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置
Used : 已用磁盘大小
Available : 可用磁盘大小
Use% : 已用磁盘百分比
Mounted on : 磁盘挂载的目录,即该磁盘挂载到了哪个目录下面

-a 或 --all : 显示所有的文件系统,包括虚拟文件系统
-B 或 --block-size : 指定单位大小,比如1k,1m等
-h 或 --human-readable : 以人们易读的GB、MB、KB等格式显示
-H 或 --si : 和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024
-i 或 --inodes : 不用硬盘容量,而是以inode的数量来显示
-k : 以KB的容量显示各文件系统,相当于--block-size=1k
-m : 以KB的容量显示各文件系统,相当于--block-size=1m
-l : --local,只显示本地文件系统
--no-sync : 在统计使用信息之前不调用sync命令(默认)
-sync : 在统计使用信息之前调用sync命令
-P 或 --portability : 使用POSIX格式显示,参考示例6
-t 或 --type=TYPE : 只显示指定类型的文件系统,参考示例7
-T 或 --print-type : 显示文件系统类型,参考示例8
-x 或 --exclude-type=TYPE : 不显示指定类型的文件系统
--help : 显示帮助信息
--version : 显示版本信息
  1. 指定一个文件夹,查看该文件夹所在磁盘的使用情况
1
df /home
  1. 指定一个文件,查看该文件所在磁盘的使用情况
1
df /bin/ls
  1. 指定多个文件或文件夹,查看所在磁盘的使用情况
1
df /bin/ls /home
  1. du 查看文件、目录所占磁盘容量
1
2
3
4
5
6
7
8
9
10
11
12
13
du [选项] [文件或目录名称] (默认情况下,只统计目录的容量大小)
参数:
-a 或 --all : 列出所有的文件和目录容量大小而不仅仅列出目录容量大小,默认情况只是统计目录的容量大小
-B 或 --block-size=SIZE : 指定单位大小
-b 或 --bytes : 以字节为单位列出文件和目录的容量大小
-c 或 --total : 除了列出文件和目录的容量大小外,列出总的容量大小
-h 或 --human-readable : 以人们易读的方式(KB,MB,GB)显示容量大小
--si : 和-h参数类似,但是单位换算时是以1000进行换算,而不是1024
-k : 和--block-size=1k类似,以KB为单位
-m : 和--block-size=1m类似,以MB为单位
-s 或 --summarize : 仅列出总量,而不列出每个目录和文件的大小
-S 或 --separate-dirs : 和-s参数类似,但是统计时不包含子目录的容量大小
--max-depth=N : 类似于默认情况的du,但是,递归显示时的递归深度小于等于N。如果--max-depth=0,就相当于-s参数,只统计总量而已。如果--max-depth=1,就相当于du -s 目录/*