auto_utilization - Linux 测试加压工具


GPL
Linux
C/C++

软件简介

一个测试套件实现了对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