国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Linux下如何獲取cpu的利用率

系統 Linux
本文將介紹如何從/proc文件系統中獲取與防火墻相關的一些性能參數,以及如何通過/proc文件系統修改內核的相關配置。

[[201252]]

"proc文件系統是一個偽文件系統,它只存在內存當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供接口。用戶和應用程序可以通過proc得到系統的信息,并可以改變內核的某些參數。"

這里將介紹如何從/proc文件系統中獲取與防火墻相關的一些性能參數,以及如何通過/proc文件系統修改內核的相關配置。

1、從/proc文件系統獲取相關的性能參數

cpu使用率: /proc/stat

內存使用情況: /proc/meminfo

網絡負載信息: /proc/net/dev

相應的計算方法:(摘自:什么是proc文件系統,見參考資料)

(1) 處理器使用率

(2) 內存使用率

(3) 流入流出數據包

(4) 整體網絡負載

這些數據分別要從/proc/stat、/proc/net/dev、/proc/meminfo三個文件中提取。如里有問題或對要提取的數據不太清楚,可以使用man proc來查看proc文件系統的聯機手冊。

(1) 處理器使用率

這里要從/proc/stat中提取四個數據:用戶模式(user)、低優先級的用戶模式(nice)、內核模式(system)以及空閑的處理器時間(idle)。它們均位于/proc/stat文件的***行。CPU的利用率使用如下公式來計算。

CPU利用率 = 100 *(user + nice + system)/(user + nice + system + idle)

(2) 內存使用率

這里需要從/proc/meminfo文件中提取兩個數據,當前內存的使用量(cmem)以及內存總量(amem)。

內存使用百分比 = 100 * (cmem / umem)

(3)網絡利用率

為了得到網絡利用率的相關數據,需要從/proc/net/dev文件中獲得兩個數據:從本機輸出的數據包數,流入本機的數據包數。它們都位于這個文件的第四行。

性能收集程序開始記錄下這兩個數據的初始值,以后每次獲得這個值后均減去這個初始值即為從集群啟動開始從本節點通過的數據包。

利用上述數據計算出網絡的平均負載,方法如下:

平均網絡負載 = (輸出的數據包+流入的數據包) / 2

2. 通過/proc文件系統調整相關的內核配置

允許ip轉發 /proc/sys/net/ipv4/ip_forward

禁止ping /proc/sys/net/ipv4/icmp_echo_ignore_all

可以在命令行下直接往上述兩個“文件”里頭寫入"1"來實現相關配置,如果寫入"0"將取消相關配置。不過在系統重啟以后,這些配置將恢復默認設置,所以,如果想讓這些修改生效,可以把下面的配置直接寫入/etc/profile文件,或者其他隨系統啟動而執行的程序文件中。

echo 1 > /proc/sys/net/ipv4/ip_forward

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

這里計算cpu使用率是有問題的,需要使用上一狀態的值來計算

正確的計算方法是,等上一個時間:

1、記錄某個時刻cpu的使用情況

2、等上一個時間段

3、再記錄此刻的cpu使用情況

4、計算總的時間片

把***次的所有cpu使用情況求和,得到j1

把第二次的所有cpu使用情況求和,得到j2

j2-j1得到這個時間段的所有時間片

即total=j2-j1=第二次的所有列的和-***次的所有列的和

5、計算idle時間

idle對應第五列的數據,用第二次的減去***次的即可

idle=第二次的第五列-***次的第五列

6、計算cpu使用率

rate=(total-idle)/total

在Linux/Unix下,CPU利用率分為用戶態 ,系統態 和空閑態 ,分別表示CPU處于用戶態執行的時間,系統內核執行的時間,和空閑系統進程執行的時間。平時所說的CPU利用率是指:CPU執行非系統空閑進程的時間 / CPU總的執行時間 。

linux c程序獲取cpu使用率及內存使用情況

2009-05-17 23:10

想獲取一下目標機運行時linux系統的硬件占用情況,寫了這幾個小程序,以后直接用了。

方法就是讀取proc下的文件來獲取了。 cpu使用率: /proc/stat ,內存使用情況: /proc/meminfo

看程序 :

  1. /*************************************************************** 
  2.  *    @file:        statusinfo.c 
  3.  * 
  4.  *    @brief:        從linux系統獲取cpu及內存使用情況 
  5.  *    @version    1.0 
  6.  * 
  7.  ***************************************************************/ 
  8.  typedef struct PACKED         //定義一個cpu occupy的結構體 
  9. char name[20];      //定義一個char類型的數組名name有20個元素 
  10. unsigned int user; //定義一個無符號的int類型的user 
  11.  unsigned int nice; //定義一個無符號的int類型的nice 
  12.  unsigned int system;//定義一個無符號的int類型的system 
  13.  unsigned int idle; //定義一個無符號的int類型的idle 
  14.  }CPU_OCCUPY; 
  15.  
  16.  typedef struct PACKED         //定義一個mem occupy的結構體 
  17. char name[20];      //定義一個char類型的數組名name有20個元素 
  18. unsigned long total;  
  19.  char name2[20]; 
  20.  unsigned long free;                        
  21.  }MEM_OCCUPY; 
  22.  
  23.  get_memoccupy (MEM_OCCUPY *mem) //對無類型get函數含有一個形參結構體類弄的指針O 
  24.  { 
  25.      FILE *fd;           
  26.      int n;              
  27.      char buff[256];    
  28.      MEM_OCCUPY *m; 
  29.      m=mem; 
  30.                                                                                                                 
  31.      fd = fopen ("/proc/meminfo""r");  
  32.         
  33.      fgets (buff, sizeof(buff), fd);  
  34.      fgets (buff, sizeof(buff), fd);  
  35.      fgets (buff, sizeof(buff), fd);  
  36.      fgets (buff, sizeof(buff), fd);  
  37.      sscanf (buff, "%s %u %s", m->name, &m->total, m->name2);  
  38.       
  39.      fgets (buff, sizeof(buff), fd); //從fd文件中讀取長度為buff的字符串再存到起始地址為buff這個空間里  
  40.      sscanf (buff, "%s %u", m->name2, &m->free, m->name2);  
  41.       
  42.      fclose(fd);     //關閉文件fd 
  43.  } 
  44.  
  45.  int cal_cpuoccupy (CPU_OCCUPY *o, CPU_OCCUPY *n)  
  46.  {    
  47.      unsigned long od, nd;     
  48.      unsigned long id, sd; 
  49.      int cpu_use = 0;    
  50.       
  51.      od = (unsigned long) (o->user + o->nice + o->system +o->idle);//***次(用戶+優先級+系統+空閑)的時間再賦給od 
  52.      nd = (unsigned long) (n->user + n->nice + n->system +n->idle);//第二次(用戶+優先級+系統+空閑)的時間再賦給od 
  53.         
  54.      id = (unsigned long) (n->user - o->user);    //用戶***次和第二次的時間之差再賦給id 
  55.      sd = (unsigned long) (n->system - o->system);//系統***次和第二次的時間之差再賦給sd 
  56.      if((nd-od) != 0) 
  57.      cpu_use = (int)((sd+id)*10000)/(nd-od); //((用戶+系統)乖100)除(***次和第二次的時間差)再賦給g_cpu_used 
  58.      else cpu_use = 0; 
  59.      //printf("cpu: %u/n",cpu_use); 
  60.      return cpu_use; 
  61.  } 
  62.  
  63.  get_cpuoccupy (CPU_OCCUPY *cpust) //對無類型get函數含有一個形參結構體類弄的指針O 
  64.  {    
  65.      FILE *fd;          
  66.      int n;             
  67.      char buff[256];  
  68.      CPU_OCCUPY *cpu_occupy; 
  69.      cpu_occupy=cpust; 
  70.                                                                                                                  
  71.      fd = fopen ("/proc/stat""r");  
  72.      fgets (buff, sizeof(buff), fd); 
  73.       
  74.      sscanf (buff, "%s %u %u %u %u", cpu_occupy->name, &cpu_occupy->user, &cpu_occupy->nice,&cpu_occupy->system, &cpu_occupy->idle); 
  75.       
  76.      fclose(fd);      
  77.  } 
  78.  
  79.  int main() 
  80.  { 
  81.      CPU_OCCUPY cpu_stat1; 
  82.      CPU_OCCUPY cpu_stat2; 
  83.      MEM_OCCUPY mem_stat; 
  84.      int cpu; 
  85.       
  86.      //獲取內存 
  87.     get_memoccupy ((MEM_OCCUPY *)&mem_stat); 
  88.       
  89.      //***次獲取cpu使用情況 
  90.     get_cpuoccupy((CPU_OCCUPY *)&cpu_stat1); 
  91.      sleep(10); 
  92.       
  93.      //第二次獲取cpu使用情況 
  94.     get_cpuoccupy((CPU_OCCUPY *)&cpu_stat2); 
  95.       
  96.      //計算cpu使用率 
  97.     cpu = cal_cpuoccupy ((CPU_OCCUPY *)&cpu_stat1, (CPU_OCCUPY *)&cpu_stat2); 
  98.       
  99.      return 0; 
  100.  } 

 

責任編輯:龐桂玉 來源: 嵌入式Linux中文站
相關推薦

2023-04-04 09:22:50

LinuxCPU命令

2010-03-11 16:49:55

Linux CPU利用

2024-10-14 13:01:33

AOTcpu符號

2013-01-04 10:44:31

IBMdW

2019-03-05 15:53:40

Linux服務器CPU

2019-08-28 06:58:06

Linux監控腳本Shell

2024-06-26 09:29:53

2011-03-17 15:16:38

2014-04-09 16:52:24

NetHogs網絡帶寬開源監控

2012-10-11 10:21:33

數據中心CPU利用率服務器效率

2025-09-15 08:34:01

2010-03-15 15:01:37

2019-01-23 10:21:32

吞吐量響應時間CPU

2011-03-17 13:54:42

查詢參數SQL語句利用率

2021-02-03 09:26:49

數據中心基礎設施能源

2025-11-03 02:45:00

2015-09-07 11:54:25

云計算數據中心資源利用

2013-03-19 12:23:25

SDN網絡利用率網絡系統架構

2019-03-07 09:25:59

LinuxCPU交換分區

2011-04-12 09:07:47

磁盤空間利用率虛擬化的隱藏成本
點贊
收藏

51CTO技術棧公眾號

亚洲大胆人体视频| 综合国产在线视频| 天天天综合网| gogo人体一区| 久久精品男女| 亚洲综合图片区| 91视频免费在线| 欧美aaaxxxx做受视频| 欧美午夜影院在线视频| 日韩免费观看网站| 国产精品久久久久久久久久久久午夜片 | 国产日韩欧美视频在线| 好吊妞www.84com只有这里才有精品| 无码aⅴ精品一区二区三区浪潮| 女人高潮被爽到呻吟在线观看| 欧美激情一区二区三区蜜桃视频| 国产精品青青在线观看爽香蕉| 福利视频在线导航| 91亚洲大成网污www| 精选一区二区三区四区五区| 93在线视频精品免费观看| 91国产丝袜在线播放| 亚洲欧美另类国产| 日韩麻豆第一页| 欧美一区二视频在线免费观看| 欧美视频免费看| 色8久久人人97超碰香蕉987| 成人观看免费完整观看| 国产成人精品免费在线| 在线观看一区二区视频| 日本精品一区二区三区高清 久久| 三级在线播放| 国产精品成人一区二区网站软件| 一区二区三区小说| 久久婷婷麻豆| 日韩欧美精品在线视频| 久久亚洲高清| 成人直播大秀| 欧美性猛交xxxx乱大交极品| 国产精品乱码| 久久久性生活视频| 正在播放国产一区| 久久这里都是精品| 日韩美女视频免费在线观看| 欧美五码在线| 欧美日韩精品国产| 精品成在人线av无码免费看| 亚洲精品1区| 精品久久久久久久久久久| 91在线精品播放| 一区二区三区四区在线免费视频| 国产91精品露脸国语对白| 日韩av男人的天堂| 无码小电影在线观看网站免费| 精品午夜久久福利影院| 超碰成人在线免费观看| 日本在线不卡视频| 草b视频在线观看| 国产精品美女一区二区| 国产男小鲜肉同志免费| 欧美日韩一本到| 日本美女久久| 91夜夜未满十八勿入爽爽影院| 一本一本久久| 凹凸国产熟女精品视频| 亚洲一区电影777| 在线播放毛片| 欧美在线不卡区| 理论片一区二区在线| 亚洲精品电影在线一区| 国产乱码精品一品二品| 性网站在线播放| 中文字幕综合一区| 欧美电影免费观看高清| 久久免费视频2| 亚洲一级二级三级在线免费观看| 国产原创av在线| 久久69精品久久久久久国产越南| 欧美成人ⅴideosxxxxx| 国产精品欧美激情| 国产清纯美女被跳蛋高潮一区二区久久w | 91精品99| 免费成人午夜视频| 日韩一区二区三区四区| 欧美视频免费| 成人天堂入口网站| 91po在线观看91精品国产性色| 久久性天堂网| 头脑特工队2免费完整版在线观看| 91精品国产免费久久久久久| 欧美日韩视频| 在线午夜视频| 国产精品99久久久久久久久久久久 | 一级欧美视频| 蜜臀在线免费观看| 色婷婷精品久久二区二区蜜臀av| 日韩大尺度黄色| 91免费国产精品| 国产亚洲欧美一区| 极品销魂美女一区二区三区| 国产淫片av片久久久久久| 亚洲欧洲在线播放| 日韩啪啪网站| 久久国产成人精品| 在线观看日韩片| 日韩三级免费观看| 伊人狠狠色j香婷婷综合| 久久久资源网| 欧美xxxx黑人又粗又长精品| 在线免费观看日韩欧美| 日韩电影免费网址| 黄视频网站在线看| 日产精品久久久久久久蜜臀| 欧美精品做受xxx性少妇| www.成人在线| 亚洲成a人片77777在线播放| 三级毛片在线免费看| 91香蕉电影院| 欧美一二三四区在线| 成人午夜视频网站| 国产一区二区三区四区五区| 性欧美孕妇孕交| 一区视频二区视频| 韩国视频理论视频久久| 亚洲乱码中文字幕| 日韩中文字幕av电影| 中文字幕人成乱码在线观看| 日韩一级免费在线观看| 欧美一区深夜视频| 日韩精品在线免费观看视频| 国产日韩欧美不卡| 久久激情一区| 久久久国产在线视频| 国产mv日韩mv欧美| 黄色小说综合网站| 国产河南妇女毛片精品久久久| 久久综合久久色| 欧美少妇一区二区三区| 欧美日韩国产综合在线| 99se婷婷在线视频观看| 51色欧美片视频在线观看| 国产精品一级在线| 日韩电影在线观看网站| 黄色成人精品网站| 久久爱www成人| 国产成人精品一区二区免费看京| 精品免费av一区二区三区| 免费观看成人性生生活片 | 久草成人资源| 99精品视频在线观看播放| 日韩电影一区| 欧美黄色一区| 美女视频免费一区| 国产精品自在欧美一区| 中文字幕欧美日本乱码一线二线| 欧美激情在线免费观看| 自拍偷自拍亚洲精品播放| 亚洲午夜av在线| 欧美日韩激情网| 91精品中文字幕一区二区三区| 色噜噜狠狠狠综合曰曰曰| 色综合导航网站| 国产精品444| 女女同性女同一区二区三区按摩| 免费日韩视频在线观看| 国产在线一在线二| 国精品产品一区| 国内精品美女在线观看| 国产一区二区看久久| 亚洲一区二区三区小说| 亚洲欧美另类人妖| 亚洲www在线观看| 亚洲小视频在线播放| 黄色一级大片免费| 最新av在线网站| 欧美少妇激情| 国产欧美二区| 亚洲另类在线视频| 久久精品成人一区二区三区| 999国内精品视频在线| 精品久久久久av| 欧美13一16娇小xxxx| 亚洲综合色婷婷在线观看| 欧美日韩国产欧| 久久精品亚洲国产奇米99| 91精品国产综合久久精品app| 欧美亚洲日本黄色| 熟妇人妻va精品中文字幕| 中文在线综合| 国产精品久久久爽爽爽麻豆色哟哟| 神马久久久久久| 一区二区三区在线观看www| 国产美女一区视频| 国产一区二区福利| 欧美色播在线播放| 91精品国产高清久久久久久91| 久久人人爽人人爽人人av| h视频在线免费观看| 精品999成人| 亚洲va在线va天堂|