Using renice and taskset to manage process priority and CPU affinity with Linux OEL 6.4
Using renice and taskset to manage process priority and CPU affinity with Linux OEL 6.4
Table of Contents
Overview
Process NICE priority values range from -20 to 19. ( see top NI column )
NI is the nice value, which is a user-space concept. PR is the process’s actual priority, as viewed by the Linux kernel.
For normal processes, the kernel priority is simply +20 from the nice value. Thus a process with the neutral nice value of zero has a kernel priority of 20. This offset-by-20 is done so that a process with a nice value of -20, the highest priority nice value, receives a kernel priority of zero. Lower numeric values equal higher scheduling priority.
For realtime processes, the kernel priority is the process’s real-time priority, but the PR column will simply print RT.
A process with the nice value of -20 is considered to be on top of the priority. And a process with nice value of 19 is considered to be low on the priority list.Using renice and taskset to manager a Linux process
Using renice and taskset to manage a Linux process
Display CPU Affinity for LGWR process and change CPU affinity to CPU 5 $ ps -elf | egrep 'NI|ora_lgwr' | grep -v grep F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 0 S oracle 5825 1 0 60 -20 - 394456 semtim 13:25 ? 00:00:24 ora_lgwr_grac41 $ taskset -pc 5 5825 pid 5825's current affinity list: 0-7 pid 5825's new affinity list: 5 Monitor CPU affinity with top # top -H -p 5825 [ --> Press f --> Press j to add CPU affinity col ] PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 5825 oracle 20 0 1540m 32m 28m S 0.0 0.8 0:24.62 5 oracle --> P shows the CPU affinity which is 5 ! Compile a load program and and set affinity to CPU 5 during program start $ cc sq.c -o sq -lm $ taskset -c 5 sq $ sp PID: 15949 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 15949 oracle 20 0 6544 312 244 R 73.7 0.0 1:50.17 5 sq 5825 oracle 20 0 1540m 32m 28m S 0.0 0.8 0:25.10 5 oracle Increase the priority of a process and monitor this process # renice -15 15949 # top -H -p 15949 [ --> Press f --> Press j to add CPU affinity col ] Cpu(s): 9.5%us, 3.1%sy, 0.0%ni, 87.2%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ P COMMAND 15949 oracle 5 -15 6544 308 244 R 70.9 0.0 38:43.36 5 sq 5825 oracle 20 0 1540m 33m 29m S 0.0 0.8 1:20.49 5 oracle