Linux 測試加壓工具:auto_utilization

jopen 10年前發布 | 20K 次閱讀 測試工具 auto_utilization

一個測試套件實現了對linux系統資源使用率的設定,目前版本包含:

1. cpu_limit實現了linux操作系統內在指定的cpu各核心上分別占用指定的cpu利用率;

2. memory_limit實現了linux操作系統內占用一定的內存使得空閑空間到達某個設定值。

文件列表
*******************************************************************************
文件名稱    cpu_limit
1、簡述     
            程序的作用是將指定的cpu各核心上分別占用指定的cpu利用率。

2、基本用法 
            cpu_limit [[int cpu_number] float cpu_utilization_percentage]

            主要有2種使用方法:
            a. cpu_limit
            說明:
            單獨執行不帶參數列表的cpu_limit時,可以在系統支持范圍內任意選擇2個或者兩個以上cpu,并且支持分別對每個cpu的使用率進行設定。Cpu范圍可以是連續的,但要保證范圍內的cpu都是存在的,例如0-2表示cpu0、cpu1、cpu2;也可以是離散的,例如0.2.4表示cpu0、cpu2、cpu4。

            b. cpu_limit [cpu_number] cpu_utilization_percentage
            說明:
            cpu_number 指定了cpu的編號,如果省略則表示當前系統全部的核。
            cpu_utilization_percentage 指定了統一的cpu利用率。

3、Example:
            cpu_limit 0 0.5          cpu0的資源利用率增加50%。
            cpu_limit 0.25           全部CPU的資源利用率增加25%。

4、注意:
            a. 不要嘗試輸入非法的參數。
            b. 不要輸入不存在的cpu_number。
            c. 不要輸入float(0,1]范圍以外的cpu_utilization_percentage。
            d. 不要后臺運行此程序。
            f. 當前total定義為10000微秒,在測試中較穩定。但如果同時運行多個cpu_limit時,效果不好時,適當的調整total值即可。

*******************************************************************************
文件名稱    cpu_limit.c
1、簡述     
            cpu_limit程序源碼。

2、基本用法
            gcc cpu_limit.c -o cpu_limit -lpthread
3、注意:
            a. 由于需要引用libpthread.so,所以編譯時要附加-lpthread參數。

*******************************************************************************
文件名稱    cpu_limit.h
1、簡述     
            cpu_limit程序頭文件。

*******************************************************************************
文件名稱    memory_limit
1、簡述     
            程序的作用是占用一定的內存使得空閑內存空間達到某個制定值。

2、基本用法 
            memory_limit free_mem
   說明:
            free_mem的格式為xxxxxxxxU,其中xxxxxxxx代表數值部分,U代表單位部分。
            數值必須是正整數,單位部分可以是以下幾種之一:
            G(g)            GiB
            M(m)            MiB
            K(k)            KiB
            [B]             Byte

3、Example:
            以下幾種用法都是合法的,并且作用都是將系統空閑內存壓至1GiB.    
            memory_limit 1G
            memory_limit 1g
            memory_limit 1024M
            memory_limit 1024m
            memory_limit 1048576K
            memory_limit 1048576k
            memory_limit 1073741824B
            memory_limit 1073741824

4、注意:
            a. 不建議輸入100MiB以下的內存值,否則程序可能會一直將swap空間吃完,觸發malloc失敗,從而可能引起系統死機、崩潰、觸發oom_killer等后果。
            b. 單位越大分配速度越快,精確度越低,推薦使用M(m)。

*******************************************************************************
文件名稱    memory_limit.c
1、簡述     
            memory_limit程序源碼。

2、基本用法
            gcc memory_limit.c -o memory_limit

*******************************************************************************
文件名稱    memory_limit.h
1、簡述     
            memory_limit程序頭文件。

*******************************************************************************
文件名稱    doxygen.def
1、簡述     
            Doxygen配置文件。

2、基本用法
            doxygen doxygen.def

*******************************************************************************
目錄名稱    doc
1、簡述     
            Doxygen文檔生成目錄。

2、基本用法
            firefox doc/html/index.html

項目主頁:http://www.baiduhome.net/lib/view/home/1418646150464

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!