gpt4 book ai didi

java - 如何模拟工作负载

转载 作者:行者123 更新时间:2023-12-02 08:04:18 25 4
gpt4 key购买 nike

我必须编写一个程序(perl、python 或 java)来模拟我们服务器上的工作负载,以便它需要 2 个参数:

  1. 内存

  2. 时间

根据这些参数,它应该启动一个进程,在指定的时间内消耗指定的内存量。内存的最大值可以高达 50-100GB,时间可以长达 12-24 小时。

我不能使用fork或多线程,这个进程应该是一个单线程并且应该连续执行操作(如整数/浮点等)。我也不想进行任何 I/O 操作。

我能想到的最简单的方法是:

 1. while(timeSpent < timeLimit || memoryConsumed < memorySpecified){
2. if(memoryConsumed < ){
3. Add random number to ArrayList
4. }else{
5. Multiply all numbers (Do some exception handling to prevent this from overflowing)
6. }
7. }

如果有更好的方法,请告诉我。

谢谢

阿米特

最佳答案

像这样的 python 代码不适合您的需求吗?

import argparse
import datetime

def main():
parser = argparse.ArgumentParser(description = "Consume memory and time.")
parser.add_argument('memory', metavar = 'M', type=int, help = "memory (in megabytes) to consume")
parser.add_argument('time', metavar = 'H', type=int, help = "time (in hours) to consume")
args = parser.parse_args()

data = bytearray(args.memory * 1000000)
now = datetime.datetime.today()
finish = now + datetime.timedelta(hours = args.time)
while now < finish:
for i in xrange(args.memory * 1000000):
data[i] = now.second
now = datetime.datetime.today()


if __name__ == '__main__':
main()

关于java - 如何模拟工作负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com