В Linux, как определить количество активных ядер машины? Я предполагаю, что тест для этого будет работать для Android тоже. Мне нужно знать, активно ли более одного ядра. Хотелось проверить это, создав процесс, создающий много потоков. Возможно ли для потока запросить, на каком процессоре он работает? таким образом, можно определить, будут ли когда-либо использоваться несколько ядер под большой нагрузкой. Не уверен, что я на правильном пути.
13
Ответы:
Вы можете использовать,
top
чтобы перечислить использование каждого ядра. Нажмите 1, если необходимо, чтобы разделить строку ЦП на отдельный ряд для каждого ядра.Вы также можете добавить столбец, который показывает последнее использованное ядро для каждого процесса. Нажмите f, чтобы вызвать список полей, затем j, чтобы активировать столбец «P». Затем нажмите пробел, чтобы вернуться к просмотру в реальном времени.
источник
top
списке тем отдельно. Или вы можете написать программу с бесконечным циклом и запускать ее несколько раз.ps
имеет поле,psr
чтобы сообщить вам, на каком процессоре выполняется задание.Таким образом, вы можете использовать что-то вроде:
Обратите внимание, что простое выполнение,
ps
как это, конечно, сделает активным хотя бы одно ядро.Вероятно, лучше запустить это:
Таким образом,
sort
иwc
не увеличивать количество.источник
ps
мы активируем как минимум 1 ядро. ;-)Эта команда хорошо работает как в Ubuntu, так и в Centos и графически показывает, сколько процессоров и как они используются.
для Centos:
для убунту:
источник
Попробуйте следующее:
Вот ссылка на пример Android Java.
источник
/proc/cpuinfo
просто говорит вам, сколько ядер у системы, и даже вам придется сделать больше, чемcat /proc/cpuinfo
для учета HyperThreading.Вы можете использовать cat / sys / devices / system / cpu / возможный или cat / sys / devices / system / cpu / online. В основном это возможно, если у вас есть отдельный процессор для запуска какой-то конкретной программы.
источник