저는 리눅스에서 CFS를 배우고 있습니다. 그래서 나는 nice 값이 어떻게 백그라운드(즉, nice) 프로세스에 낮은 우선순위를 부여할 수 있는지 알아보기로 결정했습니다.
taskset 01 python3 loop.py
두 개의 터미널에서 두 개의 CPU 프로세스가 실행 중입니다 . 그런 다음 renice -n 19 -p 12954
프로세스 중 하나를 선택합니다.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12963 garyF 20 0 29620 9248 5256 R 49.8 0.1 2:05.64 python3
12954 garyF 39 19 29620 9420 5428 R 50.2 0.1 2:12.68 python3
하지만 좋은 값이 다르더라도 top은 여전히 프로세스가 동일한 CPU 점유율(50%)을 얻는다는 의미입니다. 이러한 프로세스가 약 5분 동안 실행되었음에도 불구하고 TIME+ 열은 각 프로세스의 CPU 시간이 유사하다는 것을 보여줍니다. 좋은 프로세스에 대해 내가 기대하는 시간 조각은 다음과 같습니다.많은일반 프로세스보다 낮아서 CPU 사용량이 낮아집니다. 내가 뭐 놓친 거 없니?
이 내 꺼야 loop.py
:
#!/bin/python3
from datetime import datetime;
from datetime import timedelta;
import signal;
import sys;
def sigint_handler(signal, frame):
dt = datetime.now() - start_time;
ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds/1000.0;
print('You pressed Ctrl+C!');
print('Time elapsed is ', end='')
print(ms, end='');
print('ms.');
sys.exit(0);
pass;
signal.signal(signal.SIGINT, sigint_handler);
start_time = datetime.now();
val = 3;
while True:
val %= 2;
val += 2;
pass;