linux 程序的資源使用

2021-05-22 10:36:04 字數 767 閱讀 7451

linux核心追蹤每個程序使用的資 比如 堆疊  **段  資料段 執行的位置

int getrusage(int who , struct rusage * usage) 檢查程序本身,子程序或者兩者之和的資源使用

函式返回乙個usage結構,存放程序使用的資源

usage是很長的linux只用前五項

who指明使用的資源中哪一種將被返回,who有三種取值

rusage_self           程序本身使用的資源

rusage_childern   所有程序使用的資源

rusage_bosh           本身以及所有子程序使用資源的和

函式執行過程中rusage結構體將會被填寫,在linux中填寫的只有前五項

#include

struct rusage{

struct timeval ru_utime;    執行使用者**所用的全部時間,包括用來執行應用指令的時間,

不包括核心用來完成應用程式請求的時間

struct timeval ru_stime;     核心用來執行使用者請求的全部時間,不包括程序阻塞花的時間

long int ru_minflt;              子程序造成的次要的缺陷數

long int ru_majflt;              程序造成的主要的缺陷數  產生原因:程序訪問他的可執行部分(**段

但這部分還沒從磁碟調入記憶體

long int ru_nswap;             調入記憶體的頁面數

限制程序使用的資源

getrlimit和setrlimit函式 每個程序都有一組資源限制,其中某一些可以用getrlimit和setrlimit函式查詢和更改。include include int getrlimit int resource,struct rlimit rlptr int setrlimit int...

Linux程序資源限制

在linux系統下啟動執行乙個程序時,可對該程序執行時可占用的資源進行限制。程序的資源限制通常是在系統初始化時由init程序建立的,然後後續程序繼承。用法 include int getrlimit int resource,struct rlimit rlim int setrlimit int ...

linux程序資源限制

linux程序可分為前台程序 後台程序 守護程序 前台程序 後台程序沒有脫離shell,其父程序都為shell程序,其資源限制也繼承至相應shell程序,可用ulimit工具修改其資源限制 ulimit a 檢視當前shell所有資源限制 ulimit n 檢視當前shell能開啟的檔案總數 參考文...