From 3045193c9c226e8c43e063d9ade26c0aa521862c Mon Sep 17 00:00:00 2001 From: kino Date: Wed, 23 Oct 2024 21:22:00 +0800 Subject: [PATCH] - --- .../CPU\346\200\247\350\203\275.md" | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git "a/note/linux/linux\344\274\230\345\214\226/CPU\346\200\247\350\203\275.md" "b/note/linux/linux\344\274\230\345\214\226/CPU\346\200\247\350\203\275.md" index 7c1ce4b..8a988a1 100644 --- "a/note/linux/linux\344\274\230\345\214\226/CPU\346\200\247\350\203\275.md" +++ "b/note/linux/linux\344\274\230\345\214\226/CPU\346\200\247\350\203\275.md" @@ -52,6 +52,29 @@ $ man uptime 4. 如果突然来了个VIP客户,可以强行插队 5. 如果突然断电了(中断),都得等。。 +```bash +$ vmstat -Sm +procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- + r b swpd free buff cache si so bi bo in cs us sy id wa st + 0 0 0 737 4045 60876 0 0 2 142 0 0 1 1 96 2 0 +``` +- cs: 每秒上下文切换的次数 +- in: 每秒中断的次数 +- r: 就绪队列的长度 +- b: 处于不可中断睡眠状态的进程数 + + +```bash +$ pidstat -w 1 +14时04分21秒 UID PID cswch/s nvcswch/s Command +14时04分22秒 0 1 3.92 0.00 systemd +14时04分22秒 0 9 1.96 0.00 ksoftirqd/0 +14时04分22秒 0 10 125.49 0.00 rcu_sched +14时04分22秒 0 18 4.90 0.00 ksoftirqd/1 +``` +- cswch/s: 自愿上下文切换的次数, 是指进程无法获取所需资源,导致的上下文切换。比如说, I/O、内存等系统资源不足时,就会发生自愿上下文切换 +- nvcswch/s: 非自愿上下文切换的次数, 是指进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换。比如说,大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换 + # 三、不可中断 - 中断: 由硬件或软件触发信号, 通知CPU需要处理某个任务. 中断可以打断当前正在执行的程序, 以便处理更加紧急的任务, 例如设备输入、系统调用等。处理完中断之后, CPU会恢复到之前的任务.