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