활용할 RAM과 CPU가 많이 남아 있음에도 불구하고 한 번에 몇 가지 작업을 수행할 수 없어서 정말 짜증이 납니다. 예를 들어 WinRAR 또는 기타 디스크를 사용하여 큰 아카이브를 추출할 때 디스크 사용량입니다. 글쓰기에 굶주린 것들.
이를 20%로 제한하고 싶습니다. 따라서 WinRAR은 내 디스크 쓰기 기능의 최대 20%만 사용하므로 결과는 다음과 같습니다.
"더 이상 OS가 중단되지 않고 대용량 아카이브를 풀 때에도 멀티태스킹이 가능합니다."
디스크를 많이 사용하는 작업을 수행할 때
애플리케이션별로 디스크의 I/O를 제한하는 방법을 알고 있다면 이것이 정말 도움이 될 것입니다!
내 OS: Windows 7 Ultimate x64. 프로세스 선호도와 우선순위를 설정해 보았지만 운이 없었습니다.
답변1
~ 안에프로세스 탐색기Normal 8
, 일반 Below normal 6
우선 순위 수준 외에도 Idle 4
추가 수준이 있는데 Background 4
, 이는 을 가지고 있음을 나타냅니다 Low I/O and Memory Priority
. 해당 열에 따라 I/O 우선 순위 Background 4
가 결정됩니다 . Very Low
그것은 당신이 원하는 것을 성취해야합니다.
Vista 이상에서 사용할 수 있다고 생각합니다.Wikipedia는 제안합니다그런 다음 I/O 우선 순위가 추가되었습니다.
귀하의 의견에 따르면 명령줄에서도 이 작업을 수행하려는 것 같습니다. 프로세스 탐색기에서 사용할 수 있는지는 확실하지 않지만Ps도구이와 관련하여 유용한 것이 있을 수 있습니다. PsExec
우선 순위가 낮은 프로세스를 시작할 수 있다는 것을 알고 있습니다 . 그렇지 않다면 실행 중인 프로세스의 우선순위를 설정하기 위해 명령줄 프로그램이나 스크립트를 작성하는 것이 그리 어렵지 않을 것입니다.
답변2
@AlexandrZarubkin의 댓글이 더 많은 관심을 받아야 합니다. a에 대한 포인터러시아어 포럼 habr.com많은 도움이됩니다.트로틀탐색기에서 마우스 오른쪽 버튼을 클릭하여 실행 파일을 시작할 때 우선 순위를 영구적으로 변경할 수 있는 레지스트리 파일을 만들었습니다.
이 텍스트는 파일로 저장 .reg
되고 Windows 레지스트리로 가져와야 합니다.
Windows Registry Editor Version 5.00
;Copyright 2016 Trottle
;This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3.
;This program is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
;See <http://www.gnu.org/licenses/> for more details.
[-HKEY_CLASSES_ROOT\exefile\shell\Bpc]
[HKEY_CLASSES_ROOT\exefile\shell\Bpc]
"HasLUAShield"=""
"MUIVerb"="Set base priority"
"subcommands"=""
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\01low]
"MUIVerb"="Idle CPU, lowest IO, low paging"
"Icon"="comres.dll,9"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\01low\command]
@="cmd /q /c echo Windows Registry Editor Version 5.00>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & for /f \"delims=<\" %%i in (\"%1\") do echo [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\%%~nxi\\PerfOptions]>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"CpuPriorityClass\"=dword:00000001>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"IoPriority\"=dword:00000000>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"PagePriority\"=dword:00000001>>%%TEMP%%\\pr.reg & regedit /s %%TEMP%%\\pr.reg & del %%TEMP%%\\pr.reg & msg * %~ni priority is set to IDLE"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\02below]
"MUIVerb"="Below normal CPU, low IO"
"Icon"="comres.dll,12"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\02below\command]
@="cmd /q /c echo Windows Registry Editor Version 5.00>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & for /f \"delims=<\" %%i in (\"%1\") do echo [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\%%~nxi\\PerfOptions]>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"CpuPriorityClass\"=dword:00000005>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"IoPriority\"=dword:00000001>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"PagePriority\"=->>%%TEMP%%\\pr.reg & regedit /s %%TEMP%%\\pr.reg & del %%TEMP%%\\pr.reg & msg * %~ni priority is set to BELOW NORMAL"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\03above]
"Icon"="comres.dll,8"
"MUIVerb"="Above normal CPU"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\03above\command]
@="cmd /q /c echo Windows Registry Editor Version 5.00>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & for /f \"delims=<\" %%i in (\"%1\") do echo [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\%%~nxi\\PerfOptions]>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"CpuPriorityClass\"=dword:00000006>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"IoPriority\"=->>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"PagePriority\"=->>%%TEMP%%\\pr.reg & regedit /s %%TEMP%%\\pr.reg & del %%TEMP%%\\pr.reg & msg * %~ni priority is set to ABOVE NORMAL"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\04high]
"MUIVerb"="High CPU"
"Icon"="comres.dll,16"
"CommandFlags"=dword:00000040
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\04high\command]
@="cmd /q /c echo Windows Registry Editor Version 5.00>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & for /f \"delims=<\" %%i in (\"%1\") do echo [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\%%~nxi\\PerfOptions]>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"CpuPriorityClass\"=dword:00000003>>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"IoPriority\"=->>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & echo \"PagePriority\"=->>%%TEMP%%\\pr.reg & regedit /s %%TEMP%%\\pr.reg & del %%TEMP%%\\pr.reg & msg * %~ni priority is set to HIGH"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\06ask]
"MUIVerb"="Show current priorities"
"Icon"="shell32.dll,23"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\06ask\command]
@="cmd /q /c for /f \"delims=<\" %%i in (\"%1\") do reg query \"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\%%~nxi\\PerfOptions\" /s | msg *"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\07default]
"MUIVerb"="Restore to default"
"Icon"="comres.dll,4"
[HKEY_CLASSES_ROOT\exefile\shell\Bpc\shell\07default\command]
@="cmd /q /c echo Windows Registry Editor Version 5.00>%%TEMP%%\\pr.reg & echo.>>%%TEMP%%\\pr.reg & for /f \"delims=<\" %%i in (\"%1\") do echo [-HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\%%~nxi\\PerfOptions]>>%%TEMP%%\\pr.reg & regedit /s %%TEMP%%\\pr.reg & del %%TEMP%%\\pr.reg & msg * %~ni priority is restored to default"
; If you do not want to have uninstaller you can skip next part:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\BpcSubMenu]
"DisplayName"="'Set base priority' submenu"
"DisplayIcon"="imageres.dll,73"
"UninstallString"="cmd /q /c echo Windows Registry Editor Version 5.00>%TEMP%\\pr.reg & echo.>>%TEMP%\\pr.reg & echo [-HKEY_CLASSES_ROOT\\exefile\\shell\\Bpc]>>%TEMP%\\pr.reg & echo.>>%TEMP%\\pr.reg & echo [-HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\BpcSubMenu]>>%TEMP%\\pr.reg & regedit /s %TEMP%\\pr.reg & del %TEMP%\\pr.reg"
"DisplayVersion"="1.1"
"URLInfoAbout"="http://habrahabr.ru/post/317802/"
"NoModify"=dword:00000001
"NoRepair"=dword:00000001
우선순위 값 목록
IoPriority Value Priority
0 Very Low
1 Low
2 Normal
3 High
4 Critical (only for memory io)
PagePriority Value Priority
0 Idle
1 Very Low
2 Low
3 Background
4 Background
5 Normal