查看linux处理器和内存信息。
这次查看的cpuinfo和meminfo文件都在/proc文件夹下。/proc文件系统是一种内核和内核模块用来向进程发送信息的机制。这个伪文件系统可以和内核内部的数据结构进行交互,获取实时的进程信息。
查看处理器信息
Xeon处理器,intel开发的供服务器以及工作站使用的处理器。
Xeon E3 针对工作站和入门级服务器的单路处理器。有E3-1100和E3-1200系列。Xeon E5是中高端工作站和服务器的处理器。XeonE7是面向关键任务和数据中心的处理器系列,强调可靠性、可用性和可服务型。
通过查看系统文件,可以看到服务器cpu相关的信息。想要直接查看该文件:cat /proc/cpuinfo。文件太长,想查看特定的信息,可以通过下面的命令:
# 查看物理cpu的个数
cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
# 查看逻辑CPU的个数
cat /proc/cpuinfo | grep "processor" | wc -l
# 查看CPU核心数
cat /proc/cpuinfo | grep 'cpu cores ' | uniq
# 查看CPU主频
cat /proc/cpuinfo | grep MHz | uniq
一般情况下,逻辑CPU个数=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术,即:逻辑CPU数量=物理CPU数量 x 单颗核数 x 2(如果支持并开启ht)
下面是最后一颗核心的相关信息。
processor : 27
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
stepping : 1
microcode : 0xb00001f
cpu MHz : 1200.000
cache size : 35840 KB
physical id : 1
siblings : 14
core id : 14
cpu cores : 14
apicid : 60
initial apicid : 60
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bugs :
bogomips : 4808.41
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
上面的信息里,一些参数含义如下:
- processor:逻辑处理器的ID
- model name:CPU型号
- cpu cores:处理器中的核心数
- vendor_id :CPU制造商
- cpu family :CPU产品系列代号
- model :CPU属于其系列中的哪一代的代号
- cpu MHz :CPU的实际使用主频
- cache size :CPU二级缓存大小
- siblings :单个CPU逻辑物理核数
- fpu :是否具有浮点运算单元(Floating Point Unit)
- address sizes :可访问地址空间位数
- flags :当前CPU支持的功能
总的核心数 = 物理CPU个数*每颗CPU核数
能看出来服务器CPU型号是Xeon E5-2680 v4系列。核心数14,进程数28,cpu基准频率2.4GHz。L3缓存为35M。更多信息,可以在官网上查看Xeon E5-2680 v4系列–intel官网介绍
查看内存信息:
内存信息文件位置在/proc/meminfo。平常使用的“free", "vmstat"等命令都是通过这个文件获取数据的。
MemTotal: 132163780 kB
MemFree: 130743800 kB
MemAvailable: 130557672 kB
Buffers: 52664 kB
Cached: 595640 kB
SwapCached: 0 kB
Active: 527408 kB
Inactive: 409776 kB
Active(anon): 298876 kB
Inactive(anon): 4068 kB
Active(file): 228532 kB
Inactive(file): 405708 kB
Unevictable: 46176 kB
Mlocked: 46176 kB
SwapTotal: 67119564 kB
SwapFree: 67119564 kB
Dirty: 48 kB
Writeback: 0 kB
AnonPages: 329012 kB
Mapped: 138988 kB
Shmem: 4452 kB
Slab: 94272 kB
SReclaimable: 44884 kB
SUnreclaim: 49388 kB
KernelStack: 9248 kB
PageTables: 31224 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 133201452 kB
Committed_AS: 997624 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 174080 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 95776 kB
DirectMap2M: 5011456 kB
DirectMap1G: 131072000 kB
上面打印的信息中,其中一些参数的含义:
- MemTotal:系统从加电开始到引导完成,除了kernel本身占用的一些内存、firmware/BIOS保留的一些内存外,剩下的可供kernel支配的内存就是这个MemTotal。这个值在系统运行期间不变
- MemFree:系统还没有使用的内存
- MemAvailable:有些程序会更具系统可用内存大小自动调整内存申请的多少,所以需要一个记录当前可用内存数量的统计值。但是MemFree不使用,因为MemFree内存+已被使用但可以回收的内存(cache/buffer可回收部分)才是系统可用的内存。
- Buffers:表示块设备(block device)所占用的缓存页,包括:直接读写块设备、文件系统元数据(metadata)。它与Cached区别在于,cached表示普通文件所占用的缓存页。
- Cached:普通文件所占用的缓存页
- SwapCached: swap cache中包含的是被确定要swapping换页,但是尚未写入物理交换区的匿名内存页。那些匿名内存页,比如用户进程malloc申请的内存页是没有关联任何文件的,如果发生swapping换页,这类内存会被写入到交换区。
- SwapTotal: 可用的swap空间的总的大小(swap分区在物理内存不够的情况下,把硬盘空间的一部分释放出来,以供当前程序使用)
- SwapFree: 当前剩余的swap的大小
- Mapped: 设备和文件等映射的大小
参考
https://www.cnblogs.com/Braveliu/p/7453745.html
http://linuxperf.com/?p=142
通过/proc/meminfo实时获取系统内存使用情况
更多推荐
所有评论(0)