LINUX.ORG.RU

Включить все ядра cpu

 , , ,


0

1

Подскажите, как заставить ядро на Андроиде использовать всегда все 8 ядер, а ни 4. Мне сильно мешает это ограничение, из-за него плохая производительность в одной программе, если бы я мог обойти это ограничение, то всё решилось бы. Но какие есть способы? Перекомпилировать ядро? Тогда что мне туда дописать? Нигде в интернете нет рабочего решения, и информации хотя бы про то, какой параметр добавить во время компиляции ядра. Если есть ещё какой-то способ с помощью root, подскажите, очень нужно сломать эту идиотскую систему huawei по занижению производительности

Ответ на: комментарий от i-rinat

Вы хотите сказать, что это не big.little? Тогда что? Почему 4 ядра из 8 всегда бездействуют, а программы типа kernel auditor говорят что 4 ядра из big и 4 из little? Телефон Huawei Honor 7C LND-L29, я ничего не понимаю, прошивка что ли выдумала это всё? Прошивка их отключает? И как мне этот муляж убрать?

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Почему 4 ядра из 8 всегда бездействуют

Кастомный планировщик (возможно даже userspace)

а программы типа kernel auditor говорят что 4 ядра из big и 4 из little

Говнопрограммы

anonymous
()
Ответ на: комментарий от masteruser82841

Что за kernel auditor? Как он работает? Как он определяет конфигурацию ядер?

Загрузку ядер надёжнее всего узнавать из /proc/stat. У тебя же есть шел на устройстве? Замути cat /proc/stat в цикле, запусти нагрузку на все ядра, смотри на циферки.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

1. Kernel Auditor - программа для андроида для настройки ядра, также показывает статистику, и говорит что у меня big.little. И на графике видно все работающие ядра, как раз 4 из 8 там в 0%

https://www.dropbox.com/s/ligiki9uz73gpjg/Screenshot_20190622-213236.jpg?dl=0

2.EX Kernel Manager

Эта программа измерять загрузку не умеет, но тоже пишет, что у меня big.little

https://www.dropbox.com/s/uouxu9qivljjrcx/Screenshot_20190622-213411.jpg?dl=0

Лучше я не нашёл программ

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Ну если для тебя в цикле cat запустить это программы писать, то я тут вряд ли что могу поделать. Советую обратиться в поддержку этого kernel auditor тогда. Может, они чем-то помогут.

i-rinat ★★★★★
()
Ответ на: комментарий от masteruser82841

Исходники kernel auditor’а твоего. Непонятно, как он работает вообще, раз из /proc/cpuinfo с явно симметричным ядрами он как-то вывел big.LITTLE. Может, он вообще от балды графики рисует там, не опрашивая ничего в системе.

i-rinat ★★★★★
()
Ответ на: комментарий от masteruser82841

А как сделать цикл?

Оспаде, этот человек собрался что-то там чинить.

Либо watch -n1 cat /proc/stat, если есть watch, либо while sleep 1; do cat /proc/stat; done.

i-rinat ★★★★★
()

Хосспаде, как же хочется восемь ядер...

anonymous
()
Ответ на: комментарий от masteruser82841

Очевидно, числа в строчках с cpu# значат: user nice system idle iowait irq softirq steal guest guest_nice. Это настолько очевидно, что мне даже непонятно, зачем об этом спрашивать. Самое интересное число — user. Оно увеличивается, если на ядре выполняется пользовательский процесс. Ты за ними как раз и гонишься.

Смотришь, как меняются циферки по сравнению с idle, это даёт понять, какие ядра сейчас загружены и насколько. Я надеюсь, у тебя есть нагрузочная программа, которая гарантированно загружает восемь CPU ядер?

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от masteruser82841

все программы работают в четырёх максимум

И как ты собрался использовать 8 ядер, если можешь загрузить только 4? Решил, что лишние ядра магически распараллелят программы?

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

У меня есть программа, которая МОЖЕТ использовать 8, но система выключает половину и всё, поэтому программа работает на 4

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Разработчика нет в сети с 2018 года

Парень, я бы на твоем месте дважды подумал, прежде чем разблокировать дополнительные ядра. Не повтори судьбу того разработчика.

aquadon ★★★★★
()
Ответ на: комментарий от i-rinat

Ну так что делать будем? /proc/stat тоже показал, что 4 из 8 не используются. Никакие нагрузки не помогли, запустил в фоне что мог, и циклы ещё в терминале. Huawei нагло всё выключает!

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Учитывая твою предыдущую уверенность в kernel-magic-что-то-там, я не склонен заявлять твоим заявлениям о том, что программа МОЖЕТ. Ты веришь, что она может, тут сомневаться не приходится. А вот в самом объекте твоей веры — запросто. Есть тестовые нагрузочные программы. Да можно просто на коленке написать программку, которая 8 ниток запустит, и будет там в каждой квадратные корни считать. И уж точно нет смысла тестить какими-то мутными прогами.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Да говорю же, прога нагружает всё до предела! На других телефонах всё в порядке, где нет big.little, на остальных такая фигня. У меня ещё не всё так плохо, муляж оказалася, но этот планировщик от huawei нужно как-то выключить. Я запускал даже Antutu, и ничего, всего 4 ядра.

masteruser82841
() автор топика
Ответ на: комментарий от i-rinat

Смотри, когда программа просто открыта, работает 4 ядра, как только я начинаю переключать приложение из меню, на секунду видно как работают все 8 ядер, а потом активность на половине из них спадает. Я на графике это показал уже.

masteruser82841
() автор топика
Ответ на: комментарий от i-rinat

Huawei зачем-то проверяет, где я нахожусь: в меню тасков приложений или в самом приложении, и когда я открываю программу, оно сбрасывает 4 ядра, но не успевает сразу, просачивается это на графике

masteruser82841
() автор топика
Ответ на: комментарий от anonymous
rootfs on / type rootfs (ro,seclabel,size=1699276k,nr_inodes=424819)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,size=1822060k,nr_inodes=455515,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
none on /dev/cpuset type cgroup (rw,relatime,cpuset,cpuset_noprefix)
none on /dev/iolimit type cgroup (rw,relatime,iolimit)
none on /dev/blkio type cgroup (rw,relatime,blkio)
none on /dev/frz type cgroup (rw,relatime,freezer)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
hdb on /dev/usb-ffs/hdb type functionfs_hdb (rw,relatime)
proc on /proc type proc (rw,relatime,gid=3009,hidepid=2)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,seclabel,relatime)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,seclabel,relatime)

Есть, в начале только, больше нигде не нашёл

masteruser82841
() автор топика
Ответ на: комментарий от anonymous

Вот ещё

/dev/block/platform/soc/7824900.sdhci/by-name/vendor on /vendor type ext4 (ro,seclabel,relatime,discard,data=ordered)
/dev/block/platform/soc/7824900.sdhci/by-name/odm on /odm type ext4 (ro,seclabel,nosuid,nodev,relatime,data=ordered)
none on /acct type cgroup (rw,relatime,cpuacct)
/dev/block/platform/soc/7824900.sdhci/by-name/system on /system/lib64/libRSCpuRef.so type ext4 (ro,seclabel,relatime,discard,data=ordered)

/dev/block/platform/soc/7824900.sdhci/by-name/system on /system/lib/libRSCpuRef.so type ext4 (ro,seclabel,relatime,discard,data=ordered)

Это всё, что связано с cpu

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Теперь гули что такое cgroups и, в частности, cpuset. Скорее всего все твои проблемы отсюда...

P.S. Сегодня больше не загляну сюда :)

anonymous
()
Ответ на: комментарий от anonymous

Невероятно, в /dev/cpuset что-то нашёл про background, про 4-7 т 0-3, но редактировать пока боюсь, изучать надо

masteruser82841
() автор топика
Ответ на: комментарий от anonymous

Вообщем, в /dev/cpuset редактируются не все cpu и effective-cpu, в одних папках изменяются, в других нет, чуть чуть активность удалось поднять, теперь проскакивает частично и на других четырёх ядрах, но я не смог поставить 0-7 на папку top-app и vip. Если я смогу их изменить, то кажется решу проблему. Разрешения пробывал убирать, всё равно эти файлы возвращаются назад. Есть идеи?

masteruser82841
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.