grep pthread.so libpthread.so.0 (libc6,x86-64, ...
Why don't you use
ldconfig -p | grep pthread.so
libpthread.so.0 (libc6,x86-64, OS ABI: Linux 3.2.0) => /lib/libpthread.so.0
and create rules for your application's priority. 它由glibc v2.27和util-linux v2.32.1组成。
..
..
...
int set_max_thread_priority()
{
int policy;
struct sched_param param {
};
pthread_getschedparam(pthread_self(), &policy, ¶m);
policy = SCHED_RR;
param.sched_priority = sched_get_priority_max(policy);
return pthread_setschedparam(pthread_self(), policy, ¶m);
}
...
pthread库位于。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2083 root rt 0 709812 8100 6456 S 44.4 0.2 0:32.24 my-application
我想在docker容器化的C++应用中设置优先级SCHD_RR。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2083 root 20 0 709812 8100 6456 S 44.4 0.2 0:32.24 my-application
我想实现 my-application
但它显示。
当我运行docker容器化时
sudo chrt -r -p 99 2083
chrt: failed to set pid 18465's policy: Operation not permitted
在UbuntuDebian上,就能正常工作。
但在yocto os上就不行了。当我尝试在yocto os上改变线程优先级(使用chrt命令)时,显示以下错误。 cgroups
我使用的是用yocto(sumo)构建的Linux操作系统(4.9.126)。它由glibc v2.27和util-linux v2.32.1组成。pthread库的位置是:ldconfig -p。