Linux(包括centos) 如何查看服务器内存、CPU

CPU架构

CPU架构主要包括:amd64、arm32v7、arm64v8、mips64el、mips32、ppc64le和ppc32等架构。

CPU信息

CPU信息主要为中央处理器详细信息,包括:

  • 架构
  • 核心数量
  • 处理速度
  • 厂商名称
  • CPU主频
  • 标签

    注:不同的操作系统或者CPU架构提供的信息不一定相同。

1 查看cpu情况

cat /proc/cpuinfo

输出:

root@super:/# cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
stepping        : 3
microcode       : 0x25
cpu MHz         : 2494.235
cache size      : 6144 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
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 mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid 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 cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat flush_l1d arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips        : 4988.47
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management:

可以通过grep命令过滤信息:

cat /proc/cpuinfo | grep processor | wc -l
cat /proc/cpuinfo | grep 'core id'

2 lscpu

lscpu是一个小而快速的命令,不需要任何选项。它能够简单地以用户友好的格式打印cpu详细信息

root@super:/# lscpu 
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       43 bits physical, 48 bits virtual
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               60
Model name:          Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
Stepping:            3
CPU MHz:             2494.235
BogoMIPS:            4988.47
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            6144K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid 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 cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat flush_l1d arch_capabilities

1 服务器CPU情况 – cat

1 查看物理CPU个数:

Procs(进程)

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

2 查看服务器CPU内核个数

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

2 服务器硬盘情况 – df

1 linux查看系统内存(硬盘)

df -h

在这里插入图片描述

2 查看服务器硬盘(当前文件夹下)使用率:

du -sh * 

3 查看服务器硬盘(所有文件占用率)使用率:

du -a

3 服务器内存情况 – free

1 查看内存,不带单位

free -m

在这里插入图片描述
total:表示物理,内存总量
used:总计分配给缓存(包含Buffer和cache)使用的数量,但其中可能部分缓存并未实际使用
free:未被分配的内存。是真正尚未被使用的物理内存数量。
shared:共享内存,一般系统不会用到,这里也不讨论
buff:系统分配但未被使用的buffers数量
cache:系统分配但未被使用的cache数量
(cache是cpu和内存之间的,buffer是内存和磁盘之间的,都是为了解决速度不对等的问题。
缓存(cache)是把读取过来的数据保存起来,重新读取时若命中,就不去硬盘了,若没有命中就去读硬盘,其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读取的内容不断往后排,直至从中删除。
缓冲(buffer)时根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的的反复寻道,从而提高系统性能,linux有一个守护进程定期清空缓冲内容(即写入磁盘)。
buffer是即将要写入磁盘的,而cache是被从磁盘中读出来的。)
available:和free是有区别的,是实际可以用的最大空间。是应用程序认为可用内存数量,available = free + buff/cache (注:只是大概的计算方法)Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。这就是稍后要说明的 buffer 和 cache。

2 查看内存使用情况,带单位,显示查看结果

free -h

显示的参数:

        total:总计物理内存的大小;

        used:已使用内存;

        free:可用内存;

        Shared:多个进程共享的内存总额;

        Buffers/cached:磁盘缓存的大小 缓存是可以清除的

3 缓存清除

如果cached过大接近total数就需要清除缓存了,缓存清除命令:

echo 1 > /proc/sys/vm/drop_caches --释放网页缓存
echo 2 > /proc/sys/vm/drop_caches --释放目录项和索引
echo 3 > /proc/sys/vm/drop_caches --释放网页缓存,目录项和索引

4 查看服务器的平均负载

查看服务器各个进程情况

top

在这里插入图片描述

各行参数信息:


第一行:

12:18:39 系统当前时间
392 days, 17:32 系统从开机到现在的时间
1 user 当前用户数
load average: 5.44, 6.00, 6.10  系统1分钟、5分钟、15分钟的CPU负载信息

第二行:

532 total:当前有532个任务,也就是532个进程。
2 running:2个进程正在运行
529 sleeping:529个进程睡眠
0 stopped:停止的进程数
1 zombie:僵死的进程数

第三行:

Cpu(s):表示这一行显示CPU总体信息

8.1us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
2.4sy:内核占用CPU时间百分比
0.0ni:改变过优先级的进程占用CPU的百分比
89.0 id:空闲CPU时间百分比
0.2wa:等待I/O的CPU时间百分比
0.0hi:CPU硬中断时间百分比
0.3si:CPU软中断时间百分比
注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;

第四行:

Men:内存的意思
65281768k total:物理内存总量
30484308k used:使用的物理内存量
3235388k free:空闲的物理内存量
31562072k buff/cache:用作内核缓存的物理内存量

第五行:

Swap:交换空间

total:交换区总量
used:使用的交换区量
free:空闲的交换区量
avail Men:实际最大可用交换区总量

进程信息:

PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称

然后按特定按键 就能很清楚的查看到cpu和内存的使用情况

① 键入大写P,结果按CPU占用降序排序, %CPU

在这里插入图片描述

② 键入大写M,结果按内存占用降序排序, %MEN

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45277161/article/details/131524555