国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux】proc文件系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了【Linux】proc文件系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【Linux】proc文件系統(tǒng)

前言

?一、proc文件系統(tǒng)簡(jiǎn)介

1.1 proc文件系統(tǒng)是什么?

1.2?proc文件系統(tǒng)的作用和特點(diǎn)

1.3 proc文件系統(tǒng)提供的信息

二、proc文件系統(tǒng)常用節(jié)點(diǎn)詳述

2.1 /proc/cpuinfo?

2.2 /proc/meminfo

2.3 /proc/kallsyms

2.4 /proc/interrupts

2.5 /proc/loadavg

三、總結(jié)


前言

重要的環(huán)節(jié):帶著問題不斷前進(jìn)

在Linux系統(tǒng)中,有一些特殊文件系統(tǒng),用于進(jìn)行文件接口統(tǒng)一的操作來完成各種功能,proc文件系統(tǒng)就是其中一個(gè)。

  1. proc文件系統(tǒng)
  2. proc文件系統(tǒng)的作用和特點(diǎn)
  3. proc文件系統(tǒng)可以提供什么信息
  4. proc文件系統(tǒng)常見的用法

在學(xué)習(xí)Linux筆記老師的課程中,老師講的精簡(jiǎn)深入,但學(xué)習(xí)入門還需要一些知識(shí)背景,這里我進(jìn)行了拓展和總結(jié)。

參考文章和視頻:https://xuesong.blog.csdn.net/article/details/109522945

https://live.csdn.net/v/263371?spm=1001.2014.3001.5501

?一、proc文件系統(tǒng)簡(jiǎn)介

1.1 proc文件系統(tǒng)是什么?

Linux系統(tǒng)上的/proc目錄是一種文件系統(tǒng),即proc文件系統(tǒng)。

/與其它常見的文件系統(tǒng)不同的是,/proc是虛擬文件系統(tǒng),它不包含任何磁盤上的文件,而是由內(nèi)核在運(yùn)行時(shí)動(dòng)態(tài)生成的文件和目錄。

在Linux中存在著一類特殊的偽文件系統(tǒng),進(jìn)行文件接口統(tǒng)一的操作來完成各種功能,例如ptyfs、devfs、sysfs和procfs。而procfs就是其中應(yīng)用最廣泛的一種偽文件系統(tǒng)。

proc 文件系統(tǒng)的掛載點(diǎn)是 /proc,它最早設(shè)計(jì)用于提供進(jìn)程運(yùn)行時(shí)的信息,比如進(jìn)程的運(yùn)行狀態(tài)、進(jìn)程當(dāng)前打開的文件、創(chuàng)建的套接字、虛擬內(nèi)存的排布等,這也是它名字的由來 (Process Data Filesystem)。后來,很多系統(tǒng)級(jí)的內(nèi)核信息也被加入進(jìn)來,如中斷信息、設(shè)備映射信息、內(nèi)存狀態(tài)等等。

總的來說,/proc 文件系統(tǒng)為系統(tǒng)管理員和開發(fā)人員提供了一種方便的方式來查詢和調(diào)試系統(tǒng)的狀態(tài)和性能。

1.2?proc文件系統(tǒng)的作用和特點(diǎn)

proc 文件系統(tǒng)提供了一些內(nèi)核中各個(gè)子系統(tǒng)的信息,它使得在用戶空間簡(jiǎn)單地使用 cat 和 echo 命令,或者read 和 write 系統(tǒng)調(diào)用就可以獲得內(nèi)核各子系統(tǒng)的信息,比如 CPU 型號(hào)和參數(shù)、內(nèi)存使用量、可用的定時(shí)硬件及詳細(xì)參數(shù)、連接的外部設(shè)備及映射地址,等等,還可以在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)修改內(nèi)核參數(shù),而不需要重新編譯內(nèi)核的源代碼。

proc文件系統(tǒng)有哪些特點(diǎn)呢?

  • 可讀性:proc文件系統(tǒng)的信息是以文本格式呈現(xiàn)的,這使得它易于讀取和解析。
  • 系統(tǒng)級(jí)別:proc文件系統(tǒng)提供了對(duì)內(nèi)核和系統(tǒng)級(jí)別信息的訪問,例如系統(tǒng)中正在運(yùn)行的進(jìn)程、內(nèi)存使用情況、CPU信息、硬件配置等等。
  • 可以用于診斷和調(diào)試:proc文件系統(tǒng)提供了對(duì)系統(tǒng)狀態(tài)和進(jìn)程信息的實(shí)時(shí)訪問,這使得它非常有用于診斷和調(diào)試系統(tǒng)問題。
  • 穩(wěn)定性和可維護(hù)性:當(dāng)需要修改系統(tǒng)的各種參數(shù)以及配置信息時(shí),我們可以通過proc文件系統(tǒng)來管理就可以實(shí)現(xiàn),而無需編寫專門的內(nèi)核模塊。
    ?

1.3 proc文件系統(tǒng)提供的信息

文件 介紹
/proc/cpuinfo 這個(gè)文件包含了有關(guān) CPU 的詳細(xì)信息,包括廠商、型號(hào)、頻率、緩存等信息
/proc/meminfo 這個(gè)文件包含了有關(guān)內(nèi)存的詳細(xì)信息,包括可用內(nèi)存、緩存大小、交換分區(qū)等信息
/proc/loadavg 這個(gè)文件包含了系統(tǒng)的負(fù)載平均值,它表示系統(tǒng)正在運(yùn)行的進(jìn)程數(shù)和等待 CPU 的進(jìn)程數(shù)的平均值。
/proc/kallsyms 該文件是一個(gè)符號(hào)表,包含了內(nèi)核的所有全局變量和函數(shù)在內(nèi)存中的地址。
/proc/interrupts 該文件包含了系統(tǒng)記錄的在每個(gè) CPU 上處理的各類中斷的計(jì)數(shù)信息。
/proc/version 這個(gè)文件包含了系統(tǒng)的版本信息,包括內(nèi)核版本、GCC 版本等信息。
/proc/net/tcp 這個(gè)文件包含了有關(guān) TCP 連接的信息,包括本地地址、遠(yuǎn)程地址、狀態(tài)等信息。
/proc/net/udp 這個(gè)文件包含了有關(guān) UDP 連接的信息,包括本地地址、遠(yuǎn)程地址、狀態(tài)等信息
/proc/sys/kernel/hostname 這個(gè)文件包含了系統(tǒng)的主機(jī)名
/proc/sys/kernel/pid_max 這個(gè)文件包含了系統(tǒng)允許的最大進(jìn)程 ID
/proc/sys/fs/file-nr 這個(gè)文件包含了有關(guān)打開文件的統(tǒng)計(jì)信息,包括當(dāng)前打開的文件數(shù)、已分配的文件句柄數(shù)和最大文件句柄

二、proc文件系統(tǒng)常用節(jié)點(diǎn)詳述

2.1 /proc/cpuinfo?

該文件包含了當(dāng)前系統(tǒng) CPU 的參數(shù)信息,包括 CPU 的核心數(shù)量、每個(gè)核心的工作頻率、緩存大小、字寬地址線長(zhǎng)度等。比如,在我的個(gè)人電腦上,cat /proc/cpuinfo 顯示的部分信息如下:

【Linux】proc文件系統(tǒng)

2.2 /proc/meminfo

這個(gè)文件顯示的是系統(tǒng)中當(dāng)前的內(nèi)存狀態(tài)信息,如物理內(nèi)存總?cè)萘?、已使用?nèi)存、空閑內(nèi)存、共享內(nèi)存、交換內(nèi)存大小,等等。

在日常的開發(fā)工作中,開發(fā)者通常更偏向于通過 top 命令的輸出,查看系統(tǒng)當(dāng)前的內(nèi)存使用狀況,因?yàn)榇蠖鄶?shù)時(shí)候,只關(guān)心內(nèi)存的總量和當(dāng)前的占用量就足夠了。

但是在某些特殊情況下,還是需要參考這個(gè)文件中提供的更加詳細(xì)的內(nèi)存狀態(tài)信息,如 slab 內(nèi)存占用量(記錄在一個(gè)頁(yè)框中如何劃分和分配小存儲(chǔ)區(qū)用的內(nèi)存)、可回收內(nèi)存量 (SReclaimable)、內(nèi)核??臻g大小(Kernel Stack)、使用 malloc 分配的堆內(nèi)存總量,以及使用 mmap 映射的內(nèi)存總量,等等。

【Linux】proc文件系統(tǒng)

2.3 /proc/kallsyms

該文件是一個(gè)符號(hào)表,包含了內(nèi)核的所有全局變量和函數(shù)在內(nèi)存中的地址。

這是一個(gè)幫助內(nèi)核開發(fā)者調(diào)試內(nèi)核而加入的文件,在 Linux 系統(tǒng)崩漬時(shí)產(chǎn)生的 Opps 信息中,函數(shù)調(diào)用堆棧中顯示出來的函數(shù)名,就是在這個(gè)文件的幫助下生成的。

【Linux】proc文件系統(tǒng)

2.4 /proc/interrupts

該文件包含了系統(tǒng)記錄的在每個(gè) CPU 上處理的各類中斷的計(jì)數(shù)信息。

在Linux 中,如果沒有特殊的處理,通常所有的中斷都會(huì)交給 CPU 的第一個(gè)核心(CPUO)來處理。有一個(gè)叫做 rqbalance 的實(shí)用程序可以幫助系統(tǒng)把中斷分發(fā)給不同的 CPU,實(shí)現(xiàn)負(fù)載均衡,對(duì)多核處理器的性能提升和控制能耗都有明顯的作用。

當(dāng)前的大多數(shù) Linux 發(fā)行版都會(huì)默認(rèn)在多核處理器上啟動(dòng)這個(gè)服務(wù),但是以防萬一,讀者可以在自己的系統(tǒng)上確認(rèn)該服務(wù)是否開啟,同時(shí)通過檢查 proc/interrupts 文件來確定中斷是不是均衡地分發(fā)到了不同的 CPU上。

【Linux】proc文件系統(tǒng)

2.5 /proc/loadavg

這個(gè)文件顯示系統(tǒng)在過去一段時(shí)間的平均負(fù)載,一個(gè)真實(shí)的輸出如下所示:

【Linux】proc文件系統(tǒng)

上面的信息,具體含義如下:
1.過去一分鐘的系統(tǒng)平均負(fù)載
2.過去五分鐘的系統(tǒng)平均負(fù)載
3.過去十五分鐘的系統(tǒng)平均負(fù)載
4.采樣時(shí)刻運(yùn)行隊(duì)列的任務(wù)數(shù)/系統(tǒng)中活躍的總?cè)蝿?wù)數(shù)
5.采樣時(shí)刻占用最大的線程ID

?這個(gè)文件的輸出中的前三個(gè)值,經(jīng)常被用來觀察系統(tǒng)負(fù)載的發(fā)展趨勢(shì)。如果前面的值比后面的值小,說明系統(tǒng)的負(fù)載在減輕;反之,說明系統(tǒng)負(fù)載開始呈現(xiàn)出上升的趨勢(shì)。

三、總結(jié)

特殊文件系統(tǒng)的存在,使得Linux對(duì)內(nèi)核數(shù)據(jù)的查看和修改具有簡(jiǎn)單到極致的接口,同時(shí)又不失強(qiáng)大靈活的功能。

proc文件系統(tǒng)使得系統(tǒng)易于調(diào)試維護(hù),系統(tǒng)的穩(wěn)定性、可維護(hù)性提高,文章來源地址http://www.zghlxwxcb.cn/news/detail-457415.html

到了這里,關(guān)于【Linux】proc文件系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Linux】linux5.6引入struct proc_ops,用以替代struct file_operations在/proc下進(jìn)行文件操作

    linux5.10生成在/proc目錄下的文件時(shí),利用cat讀取文件,提示: 該報(bào)錯(cuò)是錯(cuò)誤碼:EPERM,不允許操作 發(fā)現(xiàn)是在移植內(nèi)核代碼時(shí),未對(duì)proc接口進(jìn)行適配。 linux-5.6引入結(jié)構(gòu)體struct proc_ops,用以替代struct file_operations在/proc下進(jìn)行文件操作。 proc_create中的proc_ops結(jié)構(gòu)體類型定義改變,導(dǎo)

    2024年02月08日
    瀏覽(18)
  • Linux 系統(tǒng)查看當(dāng)前正在運(yùn)行的某個(gè)進(jìn)程的詳細(xì)執(zhí)行腳本和目錄ls -l /proc/PID/cwd和 ls -l /proc/PID/exe

    首先使用 ps 命令查看當(dāng)前正在運(yùn)行的某個(gè)進(jìn)程的 PID,例如: 這個(gè)命令會(huì)列出所有包含 your_process_name 信息的進(jìn)程ID(也就是PID)和進(jìn)程名稱。你需要根據(jù)進(jìn)程的名稱來找到你想要查看的進(jìn)程對(duì)應(yīng)的PID。 然后進(jìn)入 /proc 目錄,你可以使用以下命令查看該 PID 對(duì)應(yīng)的執(zhí)行腳本: 其

    2024年02月11日
    瀏覽(24)
  • 《Docker極簡(jiǎn)教程》--前言--Docker的簡(jiǎn)介

    Docker 是一種用于構(gòu)建、部署和運(yùn)行應(yīng)用程序的開源平臺(tái),它使用容器技術(shù)來實(shí)現(xiàn)輕量級(jí)、可移植和自包含的應(yīng)用程序環(huán)境。Docker 的核心思想是將應(yīng)用程序及其依賴項(xiàng)打包到一個(gè)稱為容器的封閉單元中,從而消除了在不同環(huán)境中運(yùn)行應(yīng)用程序時(shí)可能出現(xiàn)的許多兼容性和依賴性

    2024年02月21日
    瀏覽(23)
  • 【免費(fèi)】【前言】Stable Diffusion WebUI 課程簡(jiǎn)介

    【免費(fèi)】【前言】Stable Diffusion WebUI 課程簡(jiǎn)介

    歡迎來到? 聚夢(mèng)小課堂? 的 Stable Diffusion系統(tǒng)圖文課堂。 在這里,會(huì)詳細(xì)介紹 免費(fèi)的本地版AI繪畫軟件 —— Stable Diffusion(WebUI+Fooocus) 的方方面面,包括但不限于:如何安裝,如何使用,參數(shù)含義,常見問題,使用技巧、綜合商業(yè)案例... 使用中若發(fā)現(xiàn)有錯(cuò)誤或者任何建議,

    2024年02月02日
    瀏覽(33)
  • /proc/meminfo 是什么文件

    /proc/meminfo 是一個(gè)虛擬文件系統(tǒng),它提供了有關(guān)系統(tǒng)內(nèi)存使用情況的實(shí)時(shí)信息。這個(gè)文件包含了關(guān)于系統(tǒng)內(nèi)存使用情況的詳細(xì)信息,如已用內(nèi)存、空閑內(nèi)存、共享內(nèi)存、緩存等。 這個(gè)文件的內(nèi)容可以通過以下命令查看: 其中,每一行都代表一個(gè)內(nèi)存項(xiàng),包含以下字段: MemT

    2024年02月12日
    瀏覽(13)
  • Linux /proc和/sys

    Linux /proc和/sys

    在 Linux 系統(tǒng)中,/proc和/sys都是特殊的文件系統(tǒng),數(shù)據(jù)內(nèi)容是存放在內(nèi)存中,這兩個(gè)目錄文件中的內(nèi)容由內(nèi)核動(dòng)態(tài)生成,查看這個(gè)文件中的內(nèi)容,實(shí)際上就是查詢內(nèi)核的某些狀態(tài)或信息。 可以將這兩個(gè)目錄文件理解為虛擬的目錄,即在硬盤上不存在。 proc 是process(進(jìn)程)的縮

    2024年02月08日
    瀏覽(36)
  • linux下sys目錄與proc目錄的作用

    linux下sys目錄與proc目錄的作用

    在Linux系統(tǒng)中,/sys目錄是一個(gè)特殊的虛擬文件系統(tǒng)(sysfs),用于提供對(duì)內(nèi)核和設(shè)備的運(yùn)行時(shí)信息的訪問。它是在內(nèi)核中運(yùn)行的驅(qū)動(dòng)程序和子系統(tǒng)的接口,可以用于獲取和配置系統(tǒng)的硬件和內(nèi)核信息。 以下是/sys目錄的一些主要作用: 設(shè)備和驅(qū)動(dòng)程序信息:/sys目錄提供了與設(shè)

    2024年02月04日
    瀏覽(23)
  • Linux查看進(jìn)程運(yùn)行輸出(/proc/<pid>/fd)

    輸入ps或ps -ef root@TinaLinux:/proc/631/fd# ps PID ? USER ? ? TIME ? COMMAND ? ? 1 root ? ? ? 0:03 /sbin/procd ........... ? 631 root ? ? ? 0:06 ./rt_agent ? 694 root ? ? ? 0:00 [kworker/2:2] ? 771 root ? ? ? 0:23 /home/upg/fupg 要查看的進(jìn)程id為631。 切換到/proc/pid/fd下,如 root@TinaLinux:~# cd /proc/631/fd root@TinaLin

    2024年02月11日
    瀏覽(23)
  • linux 之.service文件簡(jiǎn)介

    什么是.service文件? Linux中.service文件是某項(xiàng)服務(wù)對(duì)應(yīng)的配置文件,可用于systemd管理和控制的服務(wù)的設(shè)置。 .service 文件通常包含3個(gè)模塊,即[Unit]控制單元,表示啟動(dòng)順序和依賴關(guān)系;[Service]服務(wù),表示服務(wù)的定義;[Install]安裝,表示如何安裝配置文件。 文件存放位置 .servi

    2024年02月05日
    瀏覽(14)
  • 從零開始理解Linux中斷架構(gòu)(1)-前言

    前言 ???? ? ?前段時(shí)間在轉(zhuǎn)行手?jǐn)]WIFI路由器,搞wifi路由器需要理解網(wǎng)絡(luò)驅(qū)動(dòng)程序,以太網(wǎng)卡驅(qū)動(dòng)程序,無線WIFI驅(qū)動(dòng)程序,而網(wǎng)卡驅(qū)動(dòng)的關(guān)鍵路徑就在中斷程序中,需要了解NIC設(shè)備驅(qū)動(dòng)程序如何收發(fā)數(shù)據(jù),為了徹底的知道數(shù)據(jù)包是如何二層傳遞上來的,又需要了解一點(diǎn)Lin

    2024年02月09日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包