Linux性能优化学习笔记

【day1】

平均负载

1.查看平均负载命令  uptime

[root@localhost ~]# uptime
 13:24:46 up 211 days,  4:50,  1 user,  load average: 0.20, 0.23, 0.20

load average后的3个值分别表示最近1分钟,5分钟,15分钟服务器的负载。这里的负载指的是系统处于可运行状态和不可中断状态的进程数,也就是平均活跃进程数,这个也是平均负载的定义。这个值并不是CPU的使用率。

load average后的值是和CPU的核心数相关的,理想状态下,每CPU核心上运行一个进程。

2.查看CPU核心数

[root@localhost ~]# grep 'model name' /proc/cpuinfo | wc -l
4

以本机为例,平均负载在4以下,说明都是未过载的情况。


以上可知,系统负载过高可能的原因有下面几个

a.系统进程过多,导致负载过高,此时CPU使用率也会很高

b.I/O密集型进程,等待IO也会导致负载过,此时CPU使用率不一定高

c.大量等待CPU的进程调度也会导致负载过高,此时的CPU使用率也比较高


我们可以用下面几个命令辅助查看CPU和等待IO的状态

iostat、mpstat、pidstat

[root@localhost ~]# mpstat -P ALL
Linux 2.6.32-573.26.1.el6.x86_64 (localhost.localdomain)        02/08/2023      _x86_64_        (4 CPU)
01:37:39 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
01:37:39 PM  all    0.05    0.00    0.07    0.07    0.00    0.00    0.00    0.00   99.82
01:37:39 PM    0    0.04    0.00    0.04    0.12    0.00    0.00    0.00    0.00   99.80
01:37:39 PM    1    0.07    0.00    0.16    0.04    0.00    0.00    0.00    0.00   99.73
01:37:39 PM    2    0.04    0.00    0.03    0.09    0.00    0.00    0.00    0.00   99.84
01:37:39 PM    3    0.03    0.00    0.03    0.02    0.00    0.00    0.00    0.00   99.91


【day2】

CPU上下文切换

CPU上下文:CPU寄存器和程序计数器

CPU上下文切换:就是将前一个任务的CPU上下文保存起来,然后再加载后一个任务的CPU上下文,最后再跳转到程序计数器指向的最新的位置,运行新任务。


CPU上下文切换分为以下几种场景

进程上下文切换

线程上下文切换

中断上下文切换

线程和进程的最大区别:线程是调度的基本单位,进程是资源拥有的基本单位。

  • 当进程只有一个线程时,可以理解为线程就是进程。

  • 当进程拥有多个线程时,这些线程会共享虚拟内存和全局变量等资源,这些资源在上下文切换时是不需要修改的。

  • 线程也有自己的私有数据,比如栈和寄存器等,这些在上下文切换时也是需要保存的。

中断处理比进程拥有更高的优先级,所以中断处理会打断进程的正常调度和执行。而在打断其他进程时,就需要将进程当前的状态保存下来,这样在中断结束后,进程可以从之前的状态恢复运行。





暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇