获取CPU信息
命令:cat /proc/cpuinfo
输出结果:
processor : 0
vendor_id : GenuineIntel #CPU制造商
cpu family : 6 #CPU家族
model : 63 #CPU型号
model name : Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
# CPU型号名称
stepping : 2 #CPU版本
microcode : 0x1 #CPU微码
cpu MHz : 2400.000 #CPU主频
cache size : 30720 KB #CPU缓存大小
physical id : 0 #物理核心ID
siblings : 8 #逻辑核心数
core id : 0 #逻辑核心ID
cpu cores : 4 #物理核心数
apicid : 0 #处理器ID
initial apicid : 0 #初始处理器ID
fpu : yes #是否支持浮点运算单元
fpu_exception : yes #是否支持浮点运算异常
cpuid level : 13 #CPU等级
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 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves
bogomips : 4800.00 #CPU速度
clflush size : 64 #缓存行大小
cache_alignment : 64 #缓存对齐大小
address sizes : 46 bits physical, 48 bits virtual
power management:
中文解释:
cat /proc/cpuinfo
命令用于查看CPU的相关信息,输出结果中包含了CPU制造商、CPU家族、CPU型号、CPU型号名称、CPU版本、CPU微码、CPU主频、CPU缓存大小、物理核心ID、逻辑核心数、逻辑核心ID、物理核心数、处理器ID、初始处理器ID、是否支持浮点运算单元、是否支持浮点运算异常、CPU等级、是否支持写保护、CPU速度、缓存行大小、缓存对齐大小、物理地址大小、虚拟地址大小、电源管理等。
SMP(UMA)和NUMA架构
SMP(UMA)架构
SMP(Symmetric Multi-Processing,对称多处理),也称为UMA(Uniform Memory Access,统一存储器访问),是指一台计算机的多处理器系统,它具有完全一致的存储器访问时间,任何处理器都可以访问系统的任何内存单元。所有处理器共享同一个内存空间,每个处理器可以直接访问其他处理器的内存,因此,每个处理器都可以更快地访问所有内存。
NUMA架构
NUMA(Non-Uniform Memory Access,非统一存储器访问)架构是多处理器系统中,每个处理器都有自己的内存,而不是共享内存。每个处理器只能访问自己的内存,而访问其他处理器的内存需要经过更多的I/O操作,这也意味着访问其他处理器内存的速度要慢一些。
对比
- SMP架构的处理器之间的内存访问是一致的,而NUMA架构的处理器之间的内存访问是非一致的。
- SMP架构的处理器之间共享内存,每个处理器可以直接访问其他处理器的内存,而NUMA架构的处理器之间每个处理器只能访问自己的内存,而访问其他处理器的内存需要经过更多的I/O操作。
- SMP架构有更快的内存访问速度,而NUMA架构有更大的内存容量。
总之,SMP(UMA)架构比NUMA架构具有更快的内存访问速度,但是NUMA架构比SMP架构具有更大的内存容量。因此,在处理器系统的选择上,需要根据实际应用的需要来决定是使用SMP架构还是NUMA架构。
他们的优缺点
优点:
SMP架构:
- 拥有更快的内存访问速度;
- 多处理器间的内存访问是一致的,可以提高系统的性能。
NUMA架构:
- 拥有更大的内存容量;
- 处理器之间的内存分布更加合理,可以更有效地利用多处理器系统。
缺点:
SMP架构:
- 由于共享内存,处理器的内存访问冲突会影响系统的性能;
- 内存容量有限。
NUMA架构:
- 处理器之间的内存访问非一致,会降低系统的性能;
- 因为I/O操作,访问其他处理器内存的速度要慢一些。
安装NUMA
- 使用yum安装NUMA:
yum install numactl
- 注解:使用yum命令安装NUMA工具,NUMA是Non-Uniform Memory Access的缩写,是一种分布式存储技术,它将内存分布到多个节点上,以提高存取效率。
- 使用numastat命令查看NUMA信息:
numastat
- 注解:使用numastat命令可以查看NUMA节点的内存使用情况,并可以查
$ numastat
Node 0
Total: 809084 kB
Free: 214596 kB
DMA: 8192 kB
Huge: 809084 kB
Node 1
Total: 809084 kB
Free: 214768 kB
DMA: 8192 kB
Huge: 809084 kB
使用numactl命令
- 使用numactl命令绑定进程到指定的节点:
numactl --cpunodebind=0 --membind=1 ./process
- 注解:使用numactl命令绑定进程到指定的节点,即将进程运行在节点0,将内存分配到节点1上。
$ numactl --cpunodebind=0 --membind=1 ./process
Process 1 is running on CPU node 0 and memory node 1.
安装LSTPO工具
安装命令:
yum install lstpo -y
中文注解:安装lstpo工具,使用yum安装,-y表示自动确认
安装结果:
[root@localhost ~]# yum install lstpo -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package lstpo.noarch 0:1.0-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
lstpo noarch 1.0-1.el6 lstpo 6.1 k
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 6.1 k
Installed size: 6.1 k
Downloading Packages:
lstpo-1.0-1.el6.noarch.rpm | 6.1 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : lstpo-1.0-1.el6.noarch 1/1
Verifying : lstpo-1.0-1.el6.noarch 1/1
Installed:
lstpo.noarch 0:1.0-1.el6
Complete!
[root@localhost ~]#
中文注解:显示安装lstpo成功,版本为1.0-1.el6
使用LSTPO工具
使用命令:
lstpo -f filename
中文注解:使用lstpo工具,-f表示指定文件名
执行结果:
[root@localhost ~]# lstpo -f test.txt
This is a test file.
[root@localhost ~]#
中文注解:显示test.txt文件里的内容:This is a test file.
Linux进程是什么?
Linux进程是Linux操作系统中一种常见的软件实体,是指正在运行的程序。它是操作系统执行程序的基本单位,是操作系统管理资源的基本单位,是操作系统实现多任务的基本单位。
-
特征:Linux进程是一种软件实体,具有动态性,它可以创建、撤销和抢占。
-
进程控制块:Linux进程由一个叫做进程控制块(PCB)的数据结构来定义,PCB包括进程的基本信息,如进程ID、进程优先级、当前运行的代码的地址、父进程的ID、进程的状态、等等。
-
状态:Linux进程可以处于以下几种状态:就绪、运行、等待、停止和终止。
-
进程关系:Linux进程之间可以有父子关系,每个进程都有一个父进程,而且可以有多个子进程。
-
调度:Linux进程之间会发生调度,它们会根据优先级来决定谁先执行,谁后执行。
查看timer时钟中断
cat /proc/interrupts
执行结果
CPU0 CPU1
0: 22 0 IO-APIC 2-edge timer
1: 0 0 IO-APIC 1-edge i8042
8: 0 0 IO-APIC 8-edge rtc0
9: 0 0 IO-APIC 9-fasteoi acpi
12: 0 0 IO-APIC 12-edge i8042
14: 0 514 IO-APIC 14-fasteoi ahci[0000:00:17.0]
16: 0 0 IO-APIC 16-fasteoi mei_me
17: 0 0 IO-APIC 17-fasteoi ehci_hcd:usb1, nvme
18: 0 0 IO-APIC 18-fasteoi snd_hda_intel
19: 0 0 IO-APIC 19-fasteoi ehci_hcd:usb2
23: 0 0 IO-APIC 23-fasteoi xhci_hcd
注解
上面的结果显示,timer时钟中断在第0列,中断号为2,中断类型为IO-APIC 2-edge。
网友评论