python占用指定比例CPU

 

 

# author: xiaoyang
# date: 2025/09/28

import os
import sys
import time
from multiprocessing import Process


def ac_cpu(timeout=None):
    t0 = time.time()
    while timeout and time.time() - t0 < timeout:
        1024 ** 1024


if __name__ == '__main__':
    ratio = 0.5
    delay = 10 * 60

    if '-h' in sys.argv:
        exit('usage:\npython cpu_a.py [float] [float]\nsample:\npython cpu_a.py 0.5 60')
    else:
        if len(sys.argv) > 1:
            ratio = float(sys.argv[1])
        if len(sys.argv) > 2:
            delay = float(sys.argv[2])

    ac = int(os.cpu_count() * ratio)

    print(f'共{os.cpu_count()}核,占用{ac}核, 持续{delay}秒')

    ps = []
    for i in range(ac):
        p = Process(target=ac_cpu, kwargs={'timeout': delay}, daemon=True)
        ps.append(p)
        p.start()

    for p in ps:
        p.join()

 

posted @ 2025-09-28 10:31  小鱼圆又圆  阅读(5)  评论(0)    收藏  举报