Run a Cygwin process with "higher" scheduler priority
Cedric Blancher
cedric.blancher@gmail.com
Sat Oct 14 11:39:50 GMT 2023
On Fri, 11 Aug 2023 at 19:14, Brian Inglis <Brian.Inglis@shaw.ca> wrote:
>
> On 2023-08-11 09:44, Cedric Blancher via Cygwin wrote:
> > How can we set the scheduler priority for a Cygwin process to "higher"
> > than normal on start?
> >
> > Basically we want a Cygwin compatible script version of the Windows
> > task manager feature Name/PID--->Details--->Set priority--->Higher
>
> Pretend the system is BSD or Linux and web search e.g. SO for that capability,
> facility, or feature, then check Cygwin with Search Packages or:
>
> $ cygcheck -p usr/bin/nice
> Found 6 matches for usr/bin/nice
I know about nice and renice, but I don't see whether it is working or not.
> coreutils-debuginfo-8.26-2 - coreutils-debuginfo: Debug info for coreutils
> ...
> coreutils-9.0-1 - coreutils: GNU core utilities (includes fileutils, sh-utils
> and textutils)
> $ cygcheck -p usr/bin/renice
> Found 6 matches for usr/bin/renice
> util-linux-debuginfo-2.32.1-1 - util-linux-debuginfo: Debug info for util-linux
> util-linux-debuginfo-2.33.1-1 - util-linux-debuginfo: Debug info for util-linux
> util-linux-debuginfo-2.33.1-2 - util-linux-debuginfo: Debug info for util-linux
> util-linux-2.32.1-1 - util-linux: Collection of basic system utilities
> util-linux-2.33.1-1 - util-linux: Collection of basic system utilities
> util-linux-2.33.1-2 - util-linux: Collection of basic system utilities
> $ cygcheck -p usr/bin/chrt
> Found 2 matches for usr/bin/chrt
> util-linux-debuginfo-2.33.1-2 - util-linux-debuginfo: Debug info for util-linux
> util-linux-2.33.1-2 - util-linux: Collection of basic system utilities
> $ cygcheck -p usr/bin/taskset
> Found 2 matches for usr/bin/taskset
> util-linux-debuginfo-2.33.1-2 - util-linux-debuginfo: Debug info for util-linux
> util-linux-2.33.1-2 - util-linux: Collection of basic system utilities
>
> so you may need to install util-linux (coreutils is already installed as a base
> package for Cygwin) then:
>
> $ man nice renice taskset chrt
chrt does not work, the syscalls for realtime seem to be not implemented.
>
> You may need to run these from an elevated admin shell for other user ids,
> unowned processes, or higher (negative) priority.
>
> It has been years since I tried these so can no longer remember if -20
> corresponds to Windows "RealTime" or if you need to use PowerShell to set that e.g.
>
> $proc = Get-Process -ProcessName "..."
> $proc.PriorityClass = "RealTime"
>
> and that needs to be done from an elevated admin (Power)Shell.
>
> Of course, never set that on any system except on a very idle, very I/O bound,
> well tested process, such as ntpd, that needs stably fast interrupt service and
> non-preemptible cpu access for ms every few seconds, preferably on a single or
> few cpus to which affinity is set.
Is there anything in /proc which can tell me the current *Windows*
scheduler priority level? Or a command line tool?
Ced
More information about the Cygwin
mailing list