900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux 内存强度测试软件 linux下的CPU 内存 IO 网络的压力测试工具与方法介绍...

linux 内存强度测试软件 linux下的CPU 内存 IO 网络的压力测试工具与方法介绍...

时间:2024-05-22 22:28:47

相关推荐

linux 内存强度测试软件 linux下的CPU 内存 IO 网络的压力测试工具与方法介绍...

使用工具stress

Centos

# yum -y install stress

Ubantu

# apt-get install stress

# stress --help

`stress' imposes certain types of compute stress on your system

Usage: stress [OPTION [ARG]] ...

-?, --help show this help statement

--version show version statement

-v, --verbose be verbose

-q, --quiet be quiet

-n, --dry-run show what would have been done

-t, --timeout N timeout after N seconds

--backoff N wait factor of N microseconds before work starts

-c, --cpu N spawn N workers spinning on sqrt()

-i, --io N spawn N workers spinning on sync()

-m, --vm N spawn N workers spinning on malloc()/free()

--vm-bytes B malloc B bytes per vm worker (default is 256MB)

--vm-stride B touch a byte every B bytes (default is 4096)

--vm-hang N sleep N secs before free (default none, 0 is inf)

--vm-keep redirty memory instead of freeing and reallocating

-d, --hdd N spawn N workers spinning on write()/unlink()

--hdd-bytes B write B bytes per hdd worker (default is 1GB)

Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s

Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).

查看CPU信息

cpu详细信息

# lscpu

cpu个数:

# cat /proc/cpuinfo |grep 'physical id'|sort -u|wc -l

2

cpu核数:

# cat /proc/cpuinfo |grep 'core id'|sort -u|wc -l

24

cpu线程数:

# cat /proc/cpuinfo |grep 'processor'|sort -u|wc -l

96

根据线程测试cpu:

# stress -c 96

stress: info: [7461] dispatching hogs: 96 cpu, 0 io, 0 vm, 0 hdd

再开一个终端使用top查看

CPU:

# vim test-cpu.sh

# chmod +x test-cpu.sh

# cat test-cpu.sh

while [ 1 ]

do

echo 1 >> /dev/null

done

或者:

# while [ 1 ];do : ;done

# yum -y install python

# vim test_mem.py

# chmod +x test_mem.py

# cat test_mem.py

#! /user/bin/env python

# -*- encoding: utf-8 -*-

import sys

import re

import time

from multiprocessing import Process,cpu_count

def print_help():

print('Usage: ')

print(' python test_mem.py m 1GB')

print(' python test_mem.py c 1')

print(' python test_mem.py mc 1GB 2')

#实现占用内存

def mem():

pattern = pile('^(\d*)([M|G]B)$')

size = sys.argv[2].upper()

match = pattern.match(size)

if match:

num = int(match.group(1))

unit = match.group(2)

if unit == 'MB':

s = ' ' * (num * 1024 * 1024)

else:

s = ' ' * (num * 1024 * 1024 * 1024)

time.sleep(24 * 3600)

else:

print("bad args.....")

print_help()

#cpu满载

def deadloop():

while True:

pass

#根据传参来指定占满几个核

def cpu():

arg = sys.argv[2] if len(sys.argv) == 3 else sys.argv[3]

cpu_num = cpu_count()

cores = int(arg)

if not isinstance(cores,int):

print("bad args not int")

return

if cores > cpu_num:

print("Invalid CPU Num(cpu_count="+str(cpu_num)+")")

return

if cores is None or cores <1:

cores = 1

for i in range(cores):

Process(target=deadloop).start()

def mem_cpu():

Process(target=mem).start()

Process(target=cpu).start()

if __name__ == "__main__":

if len(sys.argv) >= 3:

switcher = {

'm': mem,

'c': cpu,

'mc': mem_cpu

}

switcher.get(sys.argv[1], mem)()

else:

print_help()

# python test_mem.py

Usage:

python test_mem.py m 1GB #Mem占用1GB,支持使用MB

python test_mem.py c 1 #CPU 1核满载

python test_mem.py mc 1GB 2 #CPU 1核满载,并且指定Mem占用2GB

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。