컴퓨터&인터넷

CPU 선호도, 우선순위 고정 자동 실행

Chobo-1 2020. 8. 29. 18:08

 

작업관리자에서 cpu 선호도우선순위를 일일이 설정하는게 귀찮으면 아래와 같이 배치파일을 만들어서 실행하거나 시작프로그램 폴더에 바로가기를 넣어놓고 자동실행되게 할 수 있다.

 

** 선호도와 달리 우선순위는 프로그램 특성이나 시스템 환경에 따라 더 주의가 필요함.

 

 

위와 같이 C:\ 드라이브 내문서나 적당한 폴더에 텍스트 파일을 2개 만들고 확장자를 batvbs로 바꾼다.

(저장할때 utf-8 포맷형식으로 저장).

bat 파일을 메모장으로 열어 cpu선호도와 우선순위를 지정해서 실행하는 명령어를 입력한다.

 

아래 예는 레인미터일 경우:

 

C:\Windows\System32\cmd.exe /C START "Rainmeter" /affinity 8 "C:\Users\사용자이름\AppData\Local\Rainmeter\Rainmeter.exe"

timeout /t 5

nircmd.exe setprocessaffinity "C:\Users\사용자이름\AppData\Local\Rainmeter\Rainmeter.exe" 0 1 2 3 4 5

timeout /t 5

wmic process where name="Rainmeter.exe" CALL setpriority 32

 

["Rainmeter" /affinity 8] 에서 " "안에는 프로세스 이름(Rainmeter.exe)이 아닌 실제 프로그램 이름을 입력하라고 되있는데 아무렇게나 입력해도 작동은 된다. (아니면 "" 공란으로 둠. 한글은 오작동하거나 폰트가 깨질수가 있으니 utf형식으로 저장해야함).

 

숫자는 cpu affinity mask 값으로 8은 6코어 cpu에서 4번째 코어만 사용해서 실행하라는 뜻임. (값은 아래 링크에서)

https://bitsum.com/tools/cpu-affinity-calculator/

 

실행 후 5초 지연한 후 nircmd command 유틸을 활용해서 실행 중인 프로세스의 선호도를 변경한다.

(4번째 cpu인 cpu3 사용률이 유난히 낮다면 우선 단일코어에 한번 지정하고 다시 멀티코어(기본값-all-cpu)로 변경. 그러면 이후에는 4번째 코어를 주로 활용함).

 

nircmd는 아래 사이트에서 다운받아 c:\windows 폴더에 복사해놓거나 nircmd.exe 명령어로 실행하는 bat 파일이 있는 폴더마다 따로 복사해서 사용할 수 있다. (특정 폴더에 넣어두고 사용하려면 그 폴더 경로를 직접 입력해줘야 함)

http://www.nirsoft.net/utils/nircmd.html

https://nircmd.nirsoft.net/setprocessaffinity.html

 

다시 5초 지연 후 우선순위보통으로 설정.

(우선순위를 지정할 수 있는 간단한 cmd 명령어인 /normal /high 등이 언제부턴가 작동이 안됨).

 

우선 순위값:

256 Realtime / 128 High / 32768 Above normal / 32 Normal / 16384 Below normal / 64 Low

 

** 지연 시간은 3초 이상.

 

그리고 vbs 파일을 메모장으로 열어 아래처럼 입력. (명령프롬프트창 안뜨게 실행)

 

Set WshShell = CreateObject("WScript.Shell")

WshShell.Run chr(34) & "C:\Users\사용자이름\Documents\Center Toolbar External\auto start\Rainmeter.bat" & Chr(34), 0

Set WshShell = Nothing

 

마지막으로 vbs파일의 바로가기를 만들고 시작프로그램 폴더나 바탕화면에 복사해 놓고 사용하면 된다.

윈도우 시작 자동실행 폴더 :

https://mingtrace.tistory.com/461

 

 

# 추가: (최종 결론)

 

선호도는 아예 건드리지 않는게 낫다. 프로세스 하나만 바꿔도 관련된 프로세스나 시스템 프로세스들이 연동되서 다 바뀐다. 개발자가 아니라면 모두 체크된 기본값으로 사용하는게 나을듯하다.

실시간으로 하든 낮음으로 하든 별 문제가 안될 수도 있는데 최적화한다고 불필요한 백그라운드 프로세스 다 끄고 풀스크린 모드로 실행하는 게임 등에서는 별 문제가 안될 수 있다고 함.

 

우선순위는 그나마 낫지만 미리 지정해놓은 프로그램 기본값에서 위아래 한단계로만 바꾸는게 좋을듯하다. 물론 별 문제가 안되는 프로그램도 있고 반대로 민감한 프로그램도 있다. 특히 백그라운드로 뭘 많이 띄워놓는 환경에서는 더 그렇고 윈도우10에서 더 그런 것 같다.