Linux服务器性能优化一

获取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操作,这也意味着访问其他处理器内存的速度要慢一些。

对比

  1. SMP架构的处理器之间的内存访问是一致的,而NUMA架构的处理器之间的内存访问是非一致的。
  2. SMP架构的处理器之间共享内存,每个处理器可以直接访问其他处理器的内存,而NUMA架构的处理器之间每个处理器只能访问自己的内存,而访问其他处理器的内存需要经过更多的I/O操作。
  3. SMP架构有更快的内存访问速度,而NUMA架构有更大的内存容量。

总之,SMP(UMA)架构比NUMA架构具有更快的内存访问速度,但是NUMA架构比SMP架构具有更大的内存容量。因此,在处理器系统的选择上,需要根据实际应用的需要来决定是使用SMP架构还是NUMA架构。

他们的优缺点

优点:

SMP架构:

  1. 拥有更快的内存访问速度;
  2. 多处理器间的内存访问是一致的,可以提高系统的性能。

NUMA架构:

  1. 拥有更大的内存容量;
  2. 处理器之间的内存分布更加合理,可以更有效地利用多处理器系统。

缺点:

SMP架构:

  1. 由于共享内存,处理器的内存访问冲突会影响系统的性能;
  2. 内存容量有限。

NUMA架构:

  1. 处理器之间的内存访问非一致,会降低系统的性能;
  2. 因为I/O操作,访问其他处理器内存的速度要慢一些。

安装NUMA

  1. 使用yum安装NUMA:yum install numactl
    • 注解:使用yum命令安装NUMA工具,NUMA是Non-Uniform Memory Access的缩写,是一种分布式存储技术,它将内存分布到多个节点上,以提高存取效率。
  2. 使用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命令

  1. 使用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操作系统中一种常见的软件实体,是指正在运行的程序。它是操作系统执行程序的基本单位,是操作系统管理资源的基本单位,是操作系统实现多任务的基本单位。

  1. 特征:Linux进程是一种软件实体,具有动态性,它可以创建、撤销和抢占。

  2. 进程控制块:Linux进程由一个叫做进程控制块(PCB)的数据结构来定义,PCB包括进程的基本信息,如进程ID、进程优先级、当前运行的代码的地址、父进程的ID、进程的状态、等等。

  3. 状态:Linux进程可以处于以下几种状态:就绪、运行、等待、停止和终止。

  4. 进程关系:Linux进程之间可以有父子关系,每个进程都有一个父进程,而且可以有多个子进程。

  5. 调度: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。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容