中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)需求表鏈接網(wǎng)

網(wǎng)站建設(shè)需求表,鏈接網(wǎng),免費(fèi)發(fā)布信息平臺(tái)大全,長(zhǎng)安微網(wǎng)站建設(shè)一、前言 一個(gè)進(jìn)程在運(yùn)行時(shí),會(huì)用到各種資源,比如cpu的使用時(shí)間、內(nèi)存空間、文件等等。那么,一個(gè)進(jìn)程能夠占用多少資源呢?cpu使用的時(shí)間有多長(zhǎng)?進(jìn)程空間有多大?能夠創(chuàng)建多少個(gè)文件?這個(gè)就是本文…

一、前言

一個(gè)進(jìn)程在運(yùn)行時(shí),會(huì)用到各種資源,比如cpu的使用時(shí)間、內(nèi)存空間、文件等等。那么,一個(gè)進(jìn)程能夠占用多少資源呢?cpu使用的時(shí)間有多長(zhǎng)?進(jìn)程空間有多大?能夠創(chuàng)建多少個(gè)文件?這個(gè)就是本文需要討論的內(nèi)容。
unix系統(tǒng)提供了兩個(gè)函數(shù)來(lái)查詢和修改進(jìn)程的資源限制:getrlimit、setrlimit
本文將圍繞這兩個(gè)函數(shù)展開(kāi)討論。

二、getrlimit

getrlimit用于查看一個(gè)進(jìn)程的資源限制,其函數(shù)原型如下:

頭文件:#include <sys/resource.h>
函數(shù)原型: int getrlimit(int resource, struct rlimit *rlim);
resource參數(shù)指定要查詢的資源類型,比如RLIMIT_CPU(CPU時(shí)間限制)、RLIMIT_FSIZE(文件大小限制)等。
rlim是指向rlimit結(jié)構(gòu)的指針,該結(jié)構(gòu)用于填充查詢到的限制值。 如果調(diào)用成功,getrlimit返回0。
返回值: 如果調(diào)用失敗,返回-1,并且設(shè)置errno以指示錯(cuò)誤類型。 常見(jiàn)的錯(cuò)誤可能包括:
EINVAL: 指定的resource參數(shù)無(wú)效。
EPERM: 用戶沒(méi)有權(quán)限獲取指定資源的限制。 ENOMEM: 內(nèi)存不足,無(wú)法完成請(qǐng)求。

rlimit數(shù)據(jù)結(jié)構(gòu)的定義如下:

struct rlimit {
rlim_t rlim_cur; // 軟限制
rlim_t rlim_max; // 硬限制
};
軟限制是當(dāng)前進(jìn)程可以使用的資源限制,而硬限制是一個(gè)上限,進(jìn)程只能借此提升軟限制。

rlim_t是一個(gè)無(wú)符號(hào)整型。
linux中支持查詢的資源限制如下:

  • RLIMIT_AS 地址空間的最大大小。
  • RLIMIT_CORE 生成的核心轉(zhuǎn)儲(chǔ)文件的最大大小。
  • RLIMIT_CPU 進(jìn)程可使用的最大 CPU 時(shí)間(秒)。
  • RLIMIT_DATA 進(jìn)程可使用的最大數(shù)據(jù)段大小。
  • RLIMIT_FSIZE 進(jìn)程可創(chuàng)建的最大文件大小。
  • RLIMIT_MEMLOCK 可以鎖定在內(nèi)存中的最大字節(jié)數(shù)。
  • RLIMIT_MSGQUEUE POSIX 消息隊(duì)列的最大字節(jié)數(shù)。
  • RLIMIT_nice 進(jìn)程的最大“nice”值調(diào)整。
  • RLIMIT_NOFILE 進(jìn)程可以打開(kāi)的最大文件描述符數(shù)。
  • RLIMIT_NPROC 進(jìn)程可創(chuàng)建的最大子進(jìn)程數(shù)。
  • RLIMIT_RSS 進(jìn)程可用的最大常駐集大小。
  • RLIMIT_SBSIZE 套接字緩沖區(qū)的最大大小。
  • RLIMIT_STACK 進(jìn)程的最大棧大小。

參考代碼如下:

/**************************************************************************************> File Name: rlimit.c> Author: Conbiao> Create Time: 2024.9.18 Wednesday*************************************************************************************//***************************************************************************************                                        HEADER*************************************************************************************/
#include <stdio.h>
#include <sys/resource.h>/***************************************************************************************                                        MACRO*************************************************************************************//***************************************************************************************                                 FUNCTION DESCRIPTION*************************************************************************************/ /***************************************************************************************                                        MAIN*************************************************************************************/
int main(int argc, char *argv[])
{int ret = 0;struct rlimit rl;if(!getrlimit(RLIMIT_NICE,&rl)){printf("%s: current nice = %lu, the max nice = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get nice failed!\n",__func__);return -1;}if(!getrlimit(RLIMIT_CPU,&rl)){printf("%s: current cpu = %lu, the max cpu = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get cpu failed!\n",__func__);return -1;}if(!getrlimit(RLIMIT_NPROC,&rl)){printf("%s: current nproc = %lu, the max nproc = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get nproc failed!\n",__func__);return -1;}return ret;
}

運(yùn)行結(jié)果如下圖所示:
[圖片]

(2-1)
ps:資源限制影響到調(diào)用進(jìn)程并由子進(jìn)程集成。也就是說(shuō)如果一個(gè)進(jìn)程修改了其資源限制,那么其子進(jìn)程也會(huì)集成這些修改后的限制。

三、setrlimit

setrlimit用于設(shè)置進(jìn)程的資源限制。其函數(shù)原型如下:

頭文件:#include <sys/resource.h>
函數(shù)原型: int setrlimit(int resource, const
struct rlimit *rlim); resource: 需要設(shè)置限制的資源類型。 rlim:指向 struct rlimit 結(jié)構(gòu)體的指針
返回值: 返回0代表成功設(shè)置了資源限制,返回-1代表設(shè)置失敗。

參考代碼如下:

**/**************************************************************************************> File Name: rlimit.c> Author: Conbiao> Create Time: 2024.9.18 Wednesday*************************************************************************************/
/***************************************************************************************                                        HEADER*************************************************************************************/
#include <stdio.h>
#include <sys/resource.h>
/***************************************************************************************                                        MACRO*************************************************************************************/
/***************************************************************************************                                 FUNCTION DESCRIPTION*************************************************************************************/
/***************************************************************************************                                        MAIN*************************************************************************************/
int main(int argc, char *argv[])
{int ret = 0;struct rlimit rl;if(!getrlimit(RLIMIT_NICE,&rl)){printf("%s: current nice = %lu, the max nice = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get nice failed!\n",__func__);return -1;}if(!getrlimit(RLIMIT_CPU,&rl)){printf("%s: current cpu = %lu, the max cpu = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get cpu failed!\n",__func__);return -1;}if(!getrlimit(RLIMIT_NPROC,&rl)){printf("%s: current nproc = %lu, the max nproc = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get nproc failed!\n",__func__);return -1;}if(!getrlimit(RLIMIT_NOFILE,&rl)){printf("%s: current nofile = %lu, the max nofile = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get nofile failed!\n",__func__);return -1;}rl.rlim_cur = 2048;//rl.rlim_max = 1048577;if(!setrlimit(RLIMIT_NOFILE,&rl)){printf("%s: set rlimit success!\n",__func__);if(!getrlimit(RLIMIT_NOFILE,&rl)){printf("%s: new current nofile = %lu, the max nofile = %lu \n",__func__,rl.rlim_cur,rl.rlim_max);}else{printf("%s: get nofile failed!\n",__func__);return -1;}}else{return -1;}return ret;
}**

運(yùn)行結(jié)果如下所示:
[圖片]

(3-1)
Ps: 一般只能修改軟限制,硬限制需要root權(quán)限才能修改硬限制。

http://www.risenshineclean.com/news/46441.html

相關(guān)文章:

  • 公司網(wǎng)站建設(shè)費(fèi)用入什么費(fèi)用建設(shè)網(wǎng)站需要多少錢
  • 騰訊云域名價(jià)格seo神器
  • 國(guó)外著名購(gòu)物網(wǎng)站排名關(guān)鍵詞排名零芯互聯(lián)排名
  • 做企業(yè)門戶網(wǎng)站都南寧網(wǎng)站快速排名提升
  • 重慶大渡口網(wǎng)站建設(shè)解決方案正規(guī)seo大概多少錢
  • 公司簡(jiǎn)介模板300字安陽(yáng)seo
  • 西安 網(wǎng)站建設(shè) 培訓(xùn)學(xué)校搜索引擎哪個(gè)好
  • 網(wǎng)站建設(shè)高校關(guān)鍵詞排名優(yōu)化公司推薦
  • 觸摸屏html網(wǎng)站蘇州seo網(wǎng)站推廣哪家好
  • 玉溪做網(wǎng)站的公司網(wǎng)上銷售方法
  • 做門的網(wǎng)站建設(shè)百度競(jìng)價(jià)推廣是什么工作
  • 東莞手機(jī)網(wǎng)站價(jià)格表重慶專業(yè)seo
  • 用織夢(mèng)系統(tǒng)怎么做網(wǎng)站品牌策略包括哪些內(nèi)容
  • 傳奇網(wǎng)站劫持怎么做百度廣告平臺(tái)
  • 北京天津網(wǎng)站建設(shè)哪家公司好愛(ài)站網(wǎng)站排名查詢工具
  • wordpress 編輯器 國(guó)外seo策略有哪些
  • 網(wǎng)站建設(shè)批發(fā)中國(guó)營(yíng)銷策劃第一人
  • 建網(wǎng)站 陜西牛人網(wǎng)絡(luò)科技百度推廣的定義
  • 網(wǎng)站建設(shè)需求分析報(bào)告手機(jī)優(yōu)化管家
  • 深圳專業(yè)做網(wǎng)站排名哪家好別人惡意點(diǎn)擊我們競(jìng)價(jià)網(wǎng)站
  • vs做網(wǎng)站開(kāi)發(fā)嗎關(guān)鍵洞察力
  • 刪除wordpress標(biāo)志鶴崗網(wǎng)站seo
  • 手機(jī)網(wǎng)站建設(shè)設(shè)計(jì)6灰色seo推廣
  • dede模板網(wǎng)站如何搭建做個(gè)網(wǎng)站
  • 做心悅騰龍光環(huán)的網(wǎng)站是什么全網(wǎng)熱搜榜第一名
  • 汕頭高端網(wǎng)站建設(shè)方法快速網(wǎng)站排名提升工具
  • 保定工程建設(shè)信息網(wǎng)站最新的疫情防控政策和管理措施
  • 學(xué)生做網(wǎng)站軟件自己怎么做引流推廣
  • 牛商網(wǎng)做網(wǎng)站多少錢做一個(gè)企業(yè)網(wǎng)站需要多少錢
  • 一元云購(gòu)網(wǎng)站開(kāi)發(fā)國(guó)家職業(yè)技能培訓(xùn)官網(wǎng)