linux所在主机CPU、内存、磁盘信息、CPU负载、内存使用

1、查看linux所在主机CPU详细信息

[root@centos7 ~]# cat /proc/cpuinfo 
processor   : 0       #当前逻辑CPU的唯一标识,从0开始计算;为逻辑CPU一直编号
vendor_id   : GenuineIntel      #CPU制造商 
cpu family  : 6        #CPU产品系列代号
model       : 79    #CPU属于其系列中的哪一代的代号
model name  : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz   #CPU属于的名字及其编号、标称主频
stepping    : 1       #CPU属于制作更新版本
microcode   : 0xb00001b
cpu MHz     : 2199.998     #CPU的实际使用主频
cache size  : 25600 KB     #CPU二级缓存大小
physical id : 0        #物理cpu的唯一标识id,从0开始编号
siblings    : 6       #一个物理CPU中的逻辑核数
core id     : 0        #当前物理核在其所处CPU中的编号,这个编号不一定连续
cpu cores   : 6      #当前物理cpu的总的内核数(6核)
apicid      : 0    #用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
initial apicid  : 0
fpu     : yes      #是否具有浮点运算单元(Floating Point Unit)
fpu_exception   : yes   #是否支持浮点计算异常
cpuid level : 13    #执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
wp      : yes   #表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt              #当前CPU支持的功能
bogomips    : 4399.99        #在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
clflush size    : 64      #每次刷新缓存的大小单位
cache_alignment : 64       #缓存地址对齐单位
address sizes   : 43 bits physical, 48 bits virtual       #可访问地址空间位数
power management:                #对能源管理的支持

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
stepping    : 1
microcode   : 0xb00001b
cpu MHz     : 2199.998
cache size  : 25600 KB
physical id : 0
siblings    : 6
core id     : 1
cpu cores   : 6
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13

……略……

processor   : 11
vendor_id   : GenuineIntel
cpu family  : 6
model       : 79
model name  : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
stepping    : 1
microcode   : 0xb00001b
cpu MHz     : 2199.998
cache size  : 25600 KB
physical id : 1
siblings    : 6
core id     : 5
cpu cores   : 6
apicid      : 13
initial apicid  : 13
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt
bogomips    : 4399.99
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management:

常用到的shell命令:
物理CPU个数: cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l
每个CPU物理核数: cat /proc/cpuinfo |grep “cpu cores”|uniq
每个CPU逻辑核数: cat /proc/cpuinfo |grep “siblings”|uniq
总CPU逻辑核数: cat /proc/cpuinfo |grep -c “processor”
查询系统CPU是否启用超线程:cat /proc/cpuinfo | grep -e “cpu cores” -e “siblings” | sort | uniq
如果cpu cores数量和siblings数量一致,则没有启用超线程,否则超线程被启用。超线程指物理内核+逻辑内核,芯片上只存在一个物理内核,但是这个物理内核可以模拟出一个逻辑内核,于是系统信息就显示了两个内核,一真一假。

查看CPU的负载

平均负载是指上一分钟同时处于就绪状态的平均进程数。在CPU中可以理解为CPU可以并行处理的任务数量,就是CPU个数X核数。
如果CPU Load等于CPU个数乘以核数,那么就说CPU正好满负载,再多一点,可能就要出问题了,有些任务不能被及时分配处理器,那要保证性能的话,最好要小于CPU个数X核数X0.7。
Load Average是指CPU的Load。它所包含的信息是在一段时间内CPU正在处理及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。
Load Average的值应该小于CPU个数X核数X0.7,Load Average会有3个状态平均值,分别是1分钟、5分钟和15分钟平均Load。
如果1分钟平均出现大于CPU个数X核数的情况,还不需要担心;如果5分钟的平均也是这样,那就要警惕了;15分钟的平均也是这样,就要分析哪里出现问题,防范未然。

top命令查询cpu负载

在这里插入图片描述
前五行是当前整个系统资源的统计信息。

第一行是任务队列

包括当前时间,系统运行的总时间,系统用户登陆的数量,以及1分钟,5分钟,15分钟系统的负载情况。

第二行是Tasks信息

显示当前系统进程情况:
总共的进程数,运行状态的进程,休眠状态进程,0个停止,0个僵尸进程。

第三行是CPU信息。

%Cpu(s): 1.3 us, 1.4 sy, 0.0 ni, 96.9 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st

参数含义
ususer CPU time ----用户空间占用CPU百分比
sysystem CPU time----内核空间占用CPU百分比
ninice CPU time----用户进程空间内改变过优先级的进程占用CPU百分比
ididle----空闲CPU百分比
waiowait---- 等待输入输出的CPU时间百分比
hihardware irq----硬件中断
sisoftware irq----软件中断
ststeal time----实时

第四行Memory的状态信息

单位: KiB Mem

参数含义
total内存
free空闲
used使用
buff/cache缓存

第五行Swap交换分区信息

参数含义
total内存
free内存
used使用
avail Mem缓存交换区总量

第六行是各个进程监视的项目列

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

参数含义
PID进程id
USER进程所有者
PR进程优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小。RES=CODE+DATA
SHR共享内存大小
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计
TIME+进程使用的CPU时间总计
COMMAND进程名称(命令名/命令行)

如果你在命令行下再输入1,截图如下,通过视图可以看逻辑CPU的负载情况
在这里插入图片描述
其他命令:

Usage:
  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

查看单个进程 top -p xxx

htop命令查询cpu负载

htop类似于 top 命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上运行的所有进程,以及他们完整的命令行。可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。与top相比,htop有以下优点:

可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
在启动上,比top 更快。
杀进程时不需要输入进程号。
htop 支持鼠标操作。
top 已经很老了。

htop 官网:http://htop.sourceforge.net/

htop 参数

安装命令
apt-get install htop 或者 yum install -y htop 来安装 htop,
安装完成之后,键入 htop 命令,打开htop。
在这里插入图片描述
帮助视图
在这里插入图片描述
可以看到总共分四个区域:

第一区域:CPU、内存、Swap的使用情况;
第二区域:任务、线程、平均负载及系统运行时间的信息。平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已,在单核的系统中平均负载为1表示的是百分之百的 CPU 利用率。最后,运行时间 (uptime)标示的数字是从系统启动起到当前的运行总时间。
第三区域:当前系统中的所有进程。各列说明:
PID:进程标志号,是非零正整数
USER:进程所有者的用户名
PR:进程的优先级别
NI:进程的优先级别数值
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程使用的共享内存值
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称
第四区域:当前界面中F1-F10功能键中定义的快捷功能。即 底部菜单栏。

交互命令用上档键shift。常用命令,shift+m 按照内存大小排序。shift+h 收缩线程。q 退出
下面是 F1~F10 的功能和对应的字母快捷键。
Shortcut Key Function Key Description 中文说明
h, ? F1 Invoke htop Help 查看htop使用说明
S F2 Htop Setup Menu htop 设定
/ F3 Search for a Process 搜索进程
\ F4 Incremental process filtering 增量进程过滤器
t F5 Tree View 显示树形结构
<, > F6 Sort by a column 选择排序方式
[ F7 Nice - (change priority) 可减少nice值,这样就可以提高对应进程的优先级
] F8 Nice + (change priority) 可增加nice值,这样就可以降低对应进程的优先级
k F9 Kill a Process 可对进程传递信号
q F10 Quit htop 结束htop
命令行选项(COMMAND-LINE OPTIONS)
-C –no-color        使用一个单色的配色方案(设置界面为无颜色)
-d –delay=DELAY     设置延迟更新时间,单位秒(设置刷新时间,单位为秒)
-h –help          显示htop 命令帮助信息
-u –user=USERNAME   只显示一个给定的用户的过程(显示指定用户的进程)
-p –pid=PID,PID…    只显示给定的PIDs
-s –sort-key COLUMN  依此列来排序(以指定的列排序)
-v –version        显示版本信息
交互式命令(INTERACTIVE COMMANDS)
上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;
Space 标记/取消标记一个进程。命令可以作用于多个进程,例如 “kill”,将应用于所有已标记的进程
U 取消所有选中的进程
s 选择某一进程,按s:用strace追踪进程的系统调用。(s:显示光标所在进程执行的系统调用;)
l 显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
I 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, - When in tree view mode, expand or collapse subtree. When a subtree is collapsed a “+” sign shows to the left of the process name.
a (在有多处理器的机器上) 设置 CPU affinity: 标记一个进程允许使用哪些CPU
u 显示特定用户进程
M 按照内存使用百分比排序,对应MEM%列;
P 按照CPU使用百分比排序,对应CPU%列;
T 按照进程运行的时间排序,对应TIME+列;
F 跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
K 显示/隐藏内核线程
H 显示/隐藏用户线程

快速定位光标到PID所指定的进程上。
Ctrl-L 刷新
Numbers PID 查找: 输入PID,光标将移动到相应的进程上

htop 使用

显示自带帮助:鼠标点击Help或者按F1 显示自带帮助

htop 设定:鼠标点击Setup或者按下F2 之后进入htop 设定的页面。只需使用箭头键选择和更改特定的设置。

Setup 选项下的:
1.Meters
设定顶端的显示信息,分为左右两侧,Left column 表示左侧的显示的信息,Right column表示右侧显示的信息,如果要新加选项,可以选择Available meters添加,F5新增到上方左侧,F6新增到上方右侧。Left column和Right column下面的选项,可以选定信息的显示方式,有LED、Bar(进度条)、Text(文本模式),可以根据个人喜好进行设置
2. Display options
选择要显示的内容,按空格 x表示显示,选择完后,按F10保存
3.Colors
设定界面以什么颜色来显示,个人认为用处不大,各人喜好不同
4.Colums
作用是增加或取消要显示的各项内容,选择后F7(向上移动)、F8(向下移动)、F9(取消显示、F10(保存更改))此处增加了PPID、PGRP,根据各人需求,显示那些信息。

Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么可以在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)都可以,这就是个人设定的范围了。这里多加了一个时钟。

我们也可以自定义进程区域中的显示内容:

搜索进程:鼠标点击Search 或者按下F3 或者输入”/”, 输入进程名进行搜索,例如搜索ssh

过滤器:按下F4,进入过滤器,相当于关键字搜索,不区分大小写,例如过滤dev。

search和filter的区别:search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。search和filter都使用ESC键来取消功能。

显示树形结构:输入”t”或按下F5,显示树形结构,意思跟pstree 差不多,能看到所有程序树状执行的结构,这对于系统管理来说相当方便,理清程序是如何产生的,当然树状结构的浏览也可以依照其他数据来排序。退出树状视图模式,请再一次按下 F5 键。

选择排序方式:按下F6 就可以选择依照什么来排序,最常排序的内容就是cpu 和memory 吧!

F7、F8分别对应nice-和nice+,F7表示减小nice值(增大优先级),F8增大nice值(减小优先级),选择某一进程,按F7或F8来增大或减小nice值,nice值范围为-20-19

F9对应kill给进程发信号,选好信号回车就OK了( F9:杀掉指定进程)。

选择某一进程按F9即可杀死此进程。如你所见,窗口的左边部分列出的是所有可用的信号,右边部分列出的是进程。只要选中信号,并选择一个进程,然后按下 enter 键,选中的信号就会发送到此进程。

F10:退出htop。
空格键:用于标记选中的进程,用于实现对多个进程同时操作;要标注某个进程条目,需要做的就是选中此条目,然后按下‘空格’键。

显示某个用户的进程,在左侧选择用户:输入”u”,在左侧选择用户

Alias top:也许你用惯了top,我们也可以用top来打开htop。

编辑/root/.bashrc文件,添加如下代码:

if [ -f /usr/local/bin/htop ]; then
    alias top=’/usr/local/bin/htop’
fi
source /root/.bashrc

常用的交互命令:

  1. space 标记一个进程(类似windows按着Ctrl多选一样)
  2. U 取消所有标记;
  3. l 显示进程打来的文件;
  4. u 显示特定用户;
  5. M 按照内存排序;
  6. P 按照CPU排序;
  7. T 按在线时长排序;
  8. ctrl + L 刷新;
  9. 直接输入数字,查找对应的PID进程;

命令行选项

除了上面介绍的一些热键,htop 还提供了很有用的命令行选项。下面是其中一部分:
-s 选项 : 按指定的列排序。例如,htop -s PID 命令会按 PID 列的大小排序来显示。
-u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。
-d 选项 : 设置刷新的延迟时间。例如,htop -d 100 命令会使输出在1秒后才会刷新(参数 -d 的单位是10微秒)。

内存

[root@centos7 ~]# free
              total        used        free      shared  buff/cache   available
Mem:       24523960    20399800      861424     1223212     3262736     1181344
Swap:       4194300     2552072     1642228
[root@centos7 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            23G         19G        1.1G        1.2G        2.9G        1.3G
Swap:          4.0G        2.4G        1.6G

total:表示物理内存大小
used:表示已经使用内存大小
free: 表示可用内存大小
shared:表示多个进程共享的内存总额
buff/cache:表示所有可供应用程序使用的内存大小
available:开启一个新程序能够使用的最大内存
Mem:表示物理内存使用情况
Swap:表示硬盘上交换分区的使用情况
空闲内存 = free+buffers+cached = total-used
totaled=used+free+buff/cache

[root@idc248-115 ~]# cat /proc/meminfo 
MemTotal:       24523960 kB   #所有可用RAM大小 (即物理内存减去一些预留位和内核的二进制代码大小)
MemFree:          958044 kB   #LowFree与HighFree的总和,被系统留着未使用的内存
MemAvailable:    1255608 kB
Buffers:          231548 kB   #用来给文件做缓冲大小
Cached:          1705380 kB   #被高速缓冲存储器(cache memory)用的内存的大小(等于 diskcache minus SwapCache )
SwapCached:       191208 kB   #被高速缓冲存储器(cache memory)用的交换空间的大小
Active:         16429676 kB   #在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要否则不会被移作他用.
Inactive:        5532140 kB   #在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径.
Active(anon):   15957120 kB  
Inactive(anon):  5213084 kB
Active(file):     472556 kB
Inactive(file):   319056 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       4194300 kB   #交换空间的总大小
SwapFree:        1680588 kB   #未被使用交换空间的大小
Dirty:             19072 kB   #等待被写回到磁盘的内存大小
Writeback:             0 kB   #正在被写回到磁盘的内存大小
AnonPages:      19855020 kB   #未映射页的内存大小
Mapped:           182616 kB   #设备和文件等映射的大小
Shmem:           1145316 kB
Slab:            1203496 kB   #内核数据结构缓存的大小,可以减少申请和释放内存带来的消耗
SReclaimable:    1083472 kB   #可收回Slab的大小
SUnreclaim:       120024 kB   #不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)
KernelStack:       61696 kB
PageTables:        89444 kB   #管理内存分页页面的索引表的大小
NFS_Unstable:          0 kB   #不稳定页表的大小
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    16456280 kB
Committed_AS:   64297704 kB
VmallocTotal:   34359738367 kB   #可以vmalloc虚拟内存大小
VmallocUsed:      216976 kB     #已经被使用的虚拟内存大小
VmallocChunk:   34346619656 kB
HardwareCorrupted:     0 kB
AnonHugePages:      2048 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      124800 kB
DirectMap2M:     6166528 kB
DirectMap1G:    20971520 kB

3、磁盘

以下主要介绍磁盘使用情况、挂载、以及查看某个目录下的文件大小

df -h

[root@centos7 ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root      73G   34G   36G  49% /
devtmpfs                     12G     0   12G   0% /dev
tmpfs                        12G     0   12G   0% /dev/shm
tmpfs                        12G  1.2G   11G  10% /run
tmpfs                        12G     0   12G   0% /sys/fs/cgroup
/dev/sda1                   477M  102M  346M  23% /boot
/dev/sde1                    10G   36M   10G   1% /mnt/ssd
/dev/sde2                    40G   25G   16G  61% /var/lib/docker
/dev/sdb                     50G  5.1G   45G  11% /mnt/sata1
/dev/sdd                     50G  4.6G   46G  10% /mnt/sata3
/dev/sdc                     50G   28G   23G  55% /mnt/sata2
/dev/mapper/centos-var_log   12G  3.6G  7.6G  32% /var/log
//192.168.110.4/files       500G  466G   34G  94% /home/public
tmpfs                        12G   12K   12G   1% /var/lib/kubelet/pods/44168120-63f6-11e8-9356-005056a91d91/volumes/kubernetes.io~secret/default-token-x5sn6
tmpfs                       2.4G     0  2.4G   0% /run/user/0

fdisk -l 查看磁盘信息

[root@wangpai720 ~]# fdisk -l

Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008d73a

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048   209713151   104855552   83  Linux

查看当前目录下每个文件的大小

[root@centos7 ~]# du -sh *    
89M apache-flume-1.7.0-bin
4.0K    cookies.txt
36K mysql.csv
2.2M    packages
529M    php7.2.5-upgrade

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值