【Linux 内核】进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )
生活随笔
收集整理的這篇文章主要介紹了
【Linux 内核】进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、進程特殊形式 ( 內核線程 | 用戶線程 )
- 二、C 標準庫與 Linux 內核中進程相關概念
- 三、Linux 查看進程命令及輸出字段解析
一、進程特殊形式 ( 內核線程 | 用戶線程 )
普通的進程 , 包含 內核虛擬地址空間 和 用戶虛擬地址空間 , 其中 內核虛擬地址空間 所有進程共享 , 用戶虛擬地址空間 由進程獨立擁有 ;
除了 普通進程 外 , 進程 還有 222 種 特殊形式 :
- 內核級線程 : 只有 內核虛擬地址空間 , 沒有 用戶虛擬地址空間 的進程 , 稱為 內核線程 ;
- 用戶級線程 : 共享 用戶虛擬地址空間 的進程 , 稱為 用戶線程 ;
線程 : 用戶線程 又稱為 線程 ;
線程組 : 共享 相同 用戶虛擬地址空間 的線程 , 組成了一個 線程組 ,
二、C 標準庫與 Linux 內核中進程相關概念
C 語言中 標準庫 提供的 進程 , 與 Linux 內核 中的 進程 這兩個概念是不同的 ;
C 標準庫 中的 包含多個線程 的進程 , 在 Linux 內核中 稱為 " 線程組 " ;
C 標準庫 中的 只有一個線程 的進程 , 在 Linux 內核中 稱為 " 任務 / 進程 " ;
C 標準庫 中的 線程 , 在 Linux 內核中 稱為 " 共享 用戶虛擬地址空間 的 進程 "
三、Linux 查看進程命令及輸出字段解析
在 Ubuntu 中 , 執行
ps aux命令 , 可以查看當前系統的進程狀態 , 確定有哪些進程 正在運行 , 占用的 CPU , 內存資源比例, 進程 ID 是多少 ;
ps 命令顯示的當前執行命令時的 瞬間狀態 , 不是 實時動態更新的 ;
實時進程使用 top 命令 ;
進程字段說明 :
- USER : 表示 進程是屬于哪個賬戶的 ;
- PID : 進程 ID ;
- %CPU : 使用的 CPU 資源占用的 百分比 ;
- %MEM : 使用的 內存 資源占用的 百分比 ;
- VSZ : 該進程 占用的虛擬內存容量是多少 , 單位是 KB , 225864 表示 225864KB ;
- RSS : 實際占用的內存容量 ;
- TTY : 進程 運行的終端 ;
- STAT : 程序目前的狀態 ; S 表示程序在休眠 , 可以發送信號喚醒 ;
執行過程如下 :
root@octopus:~# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.3 0.2 225864 9376 ? Ss 09:26 0:03 /sbin/init splash root 2 0.0 0.0 0 0 ? S 09:26 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 09:26 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 09:26 0:00 [rcu_par_gp] root 6 0.0 0.0 0 0 ? I< 09:26 0:00 [kworker/0:0H-kb] root 9 0.0 0.0 0 0 ? I< 09:26 0:00 [mm_percpu_wq] root 10 0.0 0.0 0 0 ? S 09:26 0:00 [ksoftirqd/0] root 11 0.0 0.0 0 0 ? I 09:26 0:00 [rcu_sched] root 12 0.0 0.0 0 0 ? S 09:26 0:00 [migration/0] root 13 0.0 0.0 0 0 ? S 09:26 0:00 [idle_inject/0] root 14 0.0 0.0 0 0 ? S 09:26 0:00 [cpuhp/0] root 15 0.0 0.0 0 0 ? S 09:26 0:00 [cpuhp/1] root 16 0.0 0.0 0 0 ? S 09:26 0:00 [idle_inject/1] root 17 0.0 0.0 0 0 ? S 09:26 0:00 [migration/1] root 18 0.0 0.0 0 0 ? S 09:26 0:00 [ksoftirqd/1] root 20 0.0 0.0 0 0 ? I< 09:26 0:00 [kworker/1:0H-kb] root 21 0.0 0.0 0 0 ? S 09:26 0:00 [cpuhp/2] root 22 0.0 0.0 0 0 ? S 09:26 0:00 [idle_inject/2] root 23 0.0 0.0 0 0 ? S 09:26 0:00 [migration/2]總結
以上是生活随笔為你收集整理的【Linux 内核】进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux 内核】进程管理 ( 进程与
- 下一篇: 【Linux 内核】进程管理 ( Lin