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能開啟的檔案總數 參考文...