LINUX.ORG.RU

Плавность работы под нагрузкой

 ,


0

1

Есть макбук early 2015 13'. На нем бубунта 18.10 и gnome-shell (на кедах ситуация чуть лучше, на lxqt еще лучше, на i3 еще лучше, но гном нравится, да и проблема все равно не пропадает, а просто не nак замента).

Суть проблемы. При больших нагрузках (запуск браузера с кучей вкладок, работа gradle или что-то иное тяжелое для cpu) заметно проседает плавность интерфейса. Да и без нагрузки на глаз linux работает заметнее тормознутей макоси. Запуск ведростудии, браузера и т.д. происходит дольше. Если заканчивается память и начинается заполняться своп (студия и градл все сьедают за пару часов) то вообще жуть что происходит.

Что делал: включил zswap. Собрал pf c preempt low-latency desktop (стало чуть лучше не смотря на противоречивые отзывы в интернетах), шедулер mq_deadline. С таким набором более менее можно жить. Свап лежит в файле, размер 8гиг.

Проц работает под управлением pstate. Но вот thermald кулер не разгоняет даже в половину мощности, поэтому рядом был поставлен mbpfun. Так что вопрос с перегревом решен. Переключение шедулера на performance ничего не меняет.

lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               61
Model name:          Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
Stepping:            4
CPU MHz:             1021.689
CPU max MHz:         3100,0000
CPU min MHz:         500,0000
BogoMIPS:            5402.29
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            3072K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap intel_pt xsaveopt dtherm ida arat pln pts flush_l1d
lspci
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Iris Graphics 6100 (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:15.0 DMA controller: Intel Corporation Wildcat Point-LP Serial IO DMA Controller (rev 03)
00:15.4 Serial bus controller [0c80]: Intel Corporation Wildcat Point-LP Serial IO GSPI Controller #1 (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
00:1c.1 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #2 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1c.4 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #5 (rev e3)
00:1c.5 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #6 (rev e3)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
00:1f.6 Signal processing controller: Intel Corporation Wildcat Point-LP Thermal Management Controller (rev 03)
02:00.0 Multimedia controller: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera
03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01)
04:00.0 SATA controller: Samsung Electronics Co Ltd Device a801 (rev 01)
05:00.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
06:00.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
06:03.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
06:04.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
06:05.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
06:06.0 PCI bridge: Intel Corporation DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013]
07:00.0 System peripheral: Intel Corporation

Я, конечно, понимаю, что макось хорошо заточена под железо и плавные анимации, но я мог работать одновременно пересобирая проект в ведростудии, ~40 вкладками в хроме, эмулятором ведра и может еще кое-чем запущенным. Оперативки оставалось меньше 30 мб!!, но комп работал так, будто на нем вообще ничего не запущенно, только кулер работал на пределе. На линуксе же после одной запущеной студии система начинает заметно проседать. Неужели так оно и есть или можно заставить linux работать плавно и не умирать под нагрузкой и особенно при нехватке оперативки?

Я, конечно, понимаю, что макось хорошо заточена под железо и плавные анимации, но я мог работать одновременно пересобирая проект в ведростудии, ~40 вкладками в хроме, эмулятором ведра и может еще кое-чем запущенным. Оперативки оставалось меньше 30 мб!!, но комп работал так, будто на нем вообще ничего не запущенно, только кулер работал на пределе.

А можно как-нибудь без сказок обойтись?

Deleted ()

Ушел с OpenSUSE / Ubuntu на Мак Ось уже давно по схожим причинам, не работа - а борьба с системой с этими линуксами, да и софт тока серверный, по сути, хорошо пашет.

menangen ★★★★★ ()
Последнее исправление: menangen (всего исправлений: 1)

Что показывают top, iotop?

annulen ★★★★★ ()

Да, показывай glxinfo.

anonymous ()

На моём Линуксе при почти полностью забитой оперативке всё работает плавно. Проблемы твоего дистрибутива и DE.

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

glxinfo

governor в performance руками переключать не помогает, при нагрузке проц и так работает на максималках.

irqbalance не трогал

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

Почему? На винде тоже хром съедал всю оперативу и ничего не тормозило. И при кодировании видео даже с минимальным приоритетом, остальные приложения на линуксе все равно лагают больше, особенно просмотр HD. Но винда и маки мне не нужны.

ТС поиграйся в /etc/sysctl.conf с параметром vm.swappiness
Говорят по умолчанию Linux начинает использовать swap всего при 40% заполненности памяти=тормоза.

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

Почему? На винде тоже хром съедал всю оперативу и ничего не тормозило. И при кодировании видео даже с минимальным приоритетом, остальные приложения на линуксе все равно лагают больше, особенно просмотр HD. Но винда и маки мне не нужны.

Memory Management в линуксе хреновый, Балансировка ресурсов тоже, никто не ренайсит/ионайсит автоматически, здесь это делают вручную.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от timurj

Топикстартер поставил дистр с гномом на свой макбук с айрисом... но ведь неизвестно что там с драйверами под айрисы для линуксов.

Гном 3, который, говорят, такой тормоз, что я побоялся его пробовать, хотя железо у меня может выдержать это чудовище. Его-то даже на десктопы ставить надо с осторожностью.

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

Тогда твоя проблема — гном. Точнее его ресурсоемкие графические эффекты. Тебе они не нужны.

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

В ведростудии во время компила меню открывается около 2х секунд, переключение вкладок в браузере тоже очень подтормаживает под нагрузкой тоже из-за гнома? Гном прожорлив, не спорю. Но думаю проблема глубже и где-то в ядре...

dakuenjery ()

Резюмирую: все проблемы на этой планете из-за гнома

/thread

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

Memory Management в линуксе хреновый

4.2

Балансировка ресурсов тоже, никто не ренайсит/ионайсит автоматически, здесь это делают вручную.

4.2, поставь ulatencyd например

annulen ★★★★★ ()
Ответ на: комментарий от Deleted

Да это не сказки. У меня MacBook Pro 15 Late 2013. И такая же ситуация. Система совершенно не лагает при высокий нагрузки со стороны продуктов JetBrains, Хрома и запущенных серверов для разработки.

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

И такая же ситуация.

Тоже страдаешь от гнома?

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от anonymous

Демону доверять это дело не надежно. А если он упадет? Не, только ядро, только хардкор. А Если уж ядро упадет, то тогда ребутать. А это редкость.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от anonymous

В винде же как-то это делается ядерными процессами.

Deleted ()

Так это же интель, это у них фича, сколько помню. Хочешь интерактивности под нагрузкой - используй ЦП от амд.

targitaj ★★★★★ ()
Ответ на: комментарий от Deleted

Ядро само балансировать не умеет

Ядро должно знать, какие окна активны, какие скрыты, а какие процессы работают без графики? Иди-ка ты в винду

annulen ★★★★★ ()

thermald

Выкинь его.

не разгоняет даже в половину мощности

Конечно, ведь проще ограничить частоту проца. Кулер-то не казённый...

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от annulen

Попробую ulatencyd. Пробовал Ananicy. Чуть плавнее работает система при малых/средних нагрузках. Как запускается ведростудия - все начинает подтормаживать как и раньше.

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

Повторю вопрос еще раз: что в это время показывают top, iotop? Без базовой информации манипуляции с ядрами и найсами абсолютно бессмысленны

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

Я уже сказал по делу,

Повторяй почаще, авось и сам поверишь.

Deleted ()

А у тебя тротлинга нет? Я не знаю как он проявляется у intel, но у AMD это понять сложно, все мониторинги показывают что проц работает на штатной частоте, ничего не сбрасывается, но вот напряжение на ядрах резко падает и тормоза. Т.е. в случае FX нужно было смотреть на вольты напротив vcore.

Aber ★★★★ ()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от timurj

ТС поиграйся в /etc/sysctl.conf с параметром vm.swappiness
Говорят по умолчанию Linux начинает использовать swap всего при 40% заполненности памяти=тормоза.

1 Этот параметр никак не влияет на то, при каком заполнении начинать использоваться swap. Перестаньте ретранслировать мифы и лучше вообще не смотрите РенТВ.

2 Не надо с ним играться. Поиграйся с чем-нибудь другим - поверь - дефолтные значения выбрали не идиоты и они знаю как это работает.

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

дефолтные значения выбрали не идиоты и они знаю как это работает

чё не захардкодили тогда ?

Deleted ()

смени GNOME на другое DE, смени Intel на AMD, thermald выкинь, свитер смени...

Ну фанатики и не такое на советyют... Ничего не поделаешь, линукс не умеет в отзывчивость гуя при не очень хороших ситуациях.

Либо добавляй ОЗУ, либо ОС меняй

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от Deleted

Потому что в определенных условиях тебе может понадобится перераспределить приоритет и например заставить ядро избегать вытеснения процессов в свап. Или наоборот. Но тебе оно не надо. Инфа 146%.

Suntechnic ★★★★★ ()
Ответ на: комментарий от dakuenjery

А, извини - как-то пропустил этот момент. Вечер пятницы однако... А там этот таймер прерываний накрутил, как он там называется?

Suntechnic ★★★★★ ()
Ответ на: комментарий от targitaj

Так это же интель, это у них фича, сколько помню. Хочешь интерактивности под нагрузкой - используй ЦП от амд.

АМД-фанатик порвался: в МакБоок'ах юзают Intel.

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

Нет. Timer frequency на 300HZ установлен. Я пробывал ставить 1000, но результатов не заметил каких-либо. Тем более частота прерываний меняется динамически (Timer tick handling: Idle dynticks system). Но не знаю 300 - это максимум, или это просто так опция осталась, но фактически ни на что не влияет, т.к. Idle dynticks system.

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

А как мне это собственно проверить и выложить результат? Во время фризов я не смогу быстро переключиться в консоль и скопипастить или скрин сделать. А когда систему отпустит, то уже поздно будет. Записываться вывод top в файл каждую секунду?)

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

Например, подключиться по ssh с другого компьютера или телефона,и в момент фриза посмотреть

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