Быстрый и бестолковый
майонезный пожиратель горчицы
Commenting To 
21st-Aug-2014 08:53 pm - У линукса есть несколько механизмов ограничить процесс в доступных процессорных ядрах.
У линукса есть несколько механизмов ограничить процесс в доступных процессорных ядрах. Как минимум, cgroup и taskset. Если процессу важно знать, сколько у него ядер (чтобы сконфигурировать thread pool или ещё зачем-нибудь), то наивный способ -- прочитать /proc/cpuinfo. Он неправильный. Менее наивный -- позвать sysconf(_SC_NPROCESSORS_ONLN). Он тоже неправильный. Правильный -- вот:
 long num_processor_configured = sysconf (_SC_NPROCESSORS_CONF); 
/* list the number of processors configured */   
long num_processor_available;   
cpu_set_t mask;    
if (sched_getaffinity(0, sizeof(cpu_set_t), &mask) == 0)
 { 	num_processor_available = CPU_COUNT(&mask);   } 
else { 	num_processor_available = sysconf(_SC_NPROCESSORS_ONLN);   }

---
Оригинал вот у Бориса Тоботраса
</code></pre>
Comment Form 
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:



Notice! This user has turned on the option that logs your IP address when posting.
This page was loaded Dec 7th 2019, 9:40 am GMT.