LINUX.ORG.RU

Почему Linux тормозит

 , , ,


4

2

Доброго времени суток. Я тут не пытаюсь развести холивар и троллинг, просто на самом деле интересно. Уже почти два года сижу на Linux на user friendly дистрибутивах типа Mandriva, PC Linux, Fedora. Сейчас остановился на Ubuntu. Заметил, что со временем Linux начинает тормозить все больше и мне интересно почему. На Windows тормоза понятны - загаживание и фрагментация реестра. А вот почему тормоза появляются в Linux - для меня загадка. Там, если я правильно понял используются конфигурационные файлы, т.е. обычные текстовики. Если например ты удалил приложение и даже остались какие-то настройки после него, то они никак не могут замедлить быстродействие, максимум занимать место. Так с чем связано замедление системы? С фрагментацией Ext4? После использования утилит типа Bleachbit система начинает двигаться шустрее, но до первоначальной скорости ей далеко.

Также хотел спросить советов по оптимизации - как ускорить систему? Я читал, что даже в той же Ubuntu можно пересобрать ядро. Есть ли смысл этим заниматься или ускорение получится незначительным?

И еще вопрос: если в дистрах типа Ubuntu, Fedora можно пересобирать ядро и ставить программы из исходников, то в чем преимущество Gentoo, если там ты тоже пересобираешь ядро и ставишь программы из исходников. Я читал, что Gentoo быстрее, но за счет чего?

Просьба сильно не пинать за вопросы, если они глупые. Всем заранее спасибо :)


Ответ на: комментарий от devl547

xz же на основе lzma2 собран, а оно поддерживает многопоток изначально.

xz жрёт намного больше памяти. ИМХО в этом проблема.

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

Всё может конечно, но на Desktop системе, где нет специфичных серверных задач, погрузить процессор для ускорения загрузки системы и ускорения запуска приложений можно, в особенности такой.

нельзя. Да, в десктопе средняя загрузка равна нулю(ну почти), но пиковая бывает все 200%. А если их(200%) нет, то юзер и видит тормоза. В ноуте всё совсем печально с этим…

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

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

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

В ноуте всё совсем печально с этим…

Когда запускаешь какую-нибудь софтину, все вроде работает неплохо, но вот нарываешься на какую-то плохо написанную без оптимизации функцию - и все, пошли тормоза.
И такие вот проблемы сейчас везде появляются. Потому что на оптимизацию болт класть, скорость разработки решает(

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

а гентушники говорили, что их компьютер сам компиляет. Кому верить?

Это какие то продвинутые в области ИИ гентушники, если у них компьютеры сами что то компилят

они у них всегда были (и у нас в слаке). Но если хочешь - можешь и скомпилять, никто не против(и у нас тоже).

Так причем тут наша слака? Так о всех линуксах^Wдистрибутивах^WОС можно говорить. Вопрос лишь в наличие альтернатив. В винде тоже никто компилять не запрещает, но зачем?

comp00 ★★★★
()

Почему Linux тормозит

Потому что ты слишком толстый, трололошенька.

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

ждёт очевидно, если ему больше делать нечего. Если есть что делать, но второй нити тоже нужна память, то ждать будет и она.

Если ждёт данные из памяти, вытеснения не произойдёт, будет крутиться в ожидании. Сам проц может и делать ничего не будет, но его доступность будет нулевая, что будет отображаться как 100% загрузка.

А то, что ты написал про простой CPU в ожидании памяти — бред.

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

берём систему которая обновляется уже давно, tar'им /usr, потом рас'tar'иваем на чистую ФС. По идее, должно быть быстрее. IRL - так же.

Сделал так: в только что загрузившейся системе запустил google chrome, запустилось за 14,5 секунд. Потом сделал дефрагментацию, перезагрузился, замерил скорость запуска — 13,3 секунд. На 10% быстрее ценой пятиминутной операции — вполне неплохо. Погрешность (на мою реакцию) составляет примерно 0,2 секунды, так что разница выходит заметно больше погрешности. Итог — программа запускается быстрее. Ты оказался не прав.

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

в только что загрузившейся системе запустил google chrome

у меня меньше секунды запускается.

замерил скорость запуска — 13,3 секунд.

выкинь свою систему на помойку. Проблема не в ФС.

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

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

ну и нафейхуя ты даёшь советы по оптимизации?

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

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

скорее ты нарываешься на «оптимизацию», когда ВНЕЗАПНО что-то надо распаковать твоей aufs. Разработчик софтины такой «оптимизации» не учёл, дурак, да?

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

Это какие то продвинутые в области ИИ гентушники, если у них компьютеры сами что то компилят

да это мегабакс был, и иже с ним. В споре о том, что «зачем ВСЁ то компилять?»

Так причем тут наша слака? Так о всех линуксах^Wдистрибутивах^WОС можно говорить. Вопрос лишь в наличие альтернатив. В винде тоже никто компилять не запрещает, но зачем?

в венде компилять не получается — сырцов нет. Что там кроме emule можно скомпилять?

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

ждёт очевидно, если ему больше делать нечего. Если есть что делать, но второй нити тоже нужна память, то ждать будет и она.

Если ждёт данные из памяти, вытеснения не произойдёт, будет крутиться в ожидании. Сам проц может и делать ничего не будет, но его доступность будет нулевая, что будет отображаться как 100% загрузка.

А то, что ты написал про простой CPU в ожидании памяти — бред.

что именно «бред», уважаемый демагог? что процессор не ждёт тактов? Мне, лично, по барабану, какая там загрузка, главное - ждёт, и я знаю — почему.

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

Внезапно, я ни AUFS, ни SQUASHFS, ни прочими ненужными на десктопе вещами не пользуюсь.

вот потому-то ты и не знаешь, как они влияют на тупизм десктопа.

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

Что там кроме emule можно скомпилять?

gentoo/prefix :3

в венде? ну попробуй. Удачи.

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

Десктоп и без них тормозить умеет.

в венде? ну попробуй. Удачи.

Пробовал, компиляется. Даже работает.

devl547 ★★★★★
()

Я читал, что Gentoo быстрее, но за счет чего?

На глаз ты эту разницу вряд ли заметишь.

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

Десктоп и без них тормозить умеет.

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

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

Если его специально не попросить, заставив выполнить быдлокод например.

Т.е. ты редко включаешь компьютер?

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

что именно «бред», <...> что процессор не ждёт тактов? Мне, лично, по барабану, какая там загрузка, главное - ждёт, и я знаю — почему.

Бред в словах «хотя CPU при этом действительно простаивает».

уважаемый демагог?

Ты так часто называешь меня демагогом, а вместо простых и ясных ответов (на простые и ясные вопросы) выдаёшь простыни пространных измышлений. Думаешь, если сто раз повторить, объективная реальность прогнётся под твои ожидания?

Потому скорость распаковки довольно низкая (хотя CPU при этом действительно простаивает).

Так здесь под «простаивает» ты имел в виду 100% загрузку?

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

Бред в словах «хотя CPU при этом действительно простаивает».

если у тебя промах кеша, то процессор не простаивает, а работает дальше? Данные и код можно не только из кеша получить, но и из астрала? Ну тогда извини, пошёл я гуглить man libastral.so…

Ты так часто называешь меня демагогом, а вместо простых и ясных ответов (на простые и ясные вопросы) выдаёшь простыни пространных измышлений. Думаешь, если сто раз повторить, объективная реальность прогнётся под твои ожидания?

видать - если ты упёрся, то тебя не переубедить. Ну ладно.

Так здесь под «простаивает» ты имел в виду 100% загрузку?

загрузка в 0% бывает тогда, когда процессор в спящем режиме. Тогда ядро посмотрит на него, увидит, что он спит, и отдаст такты другому процессу. Или само заснёт ненадолго, если процессов R нету, а есть только S.

Вот только, если у тебя промах кеша, то это совсем не S, а как раз таки R. Т.е. в top это выглядит как 100% загрузки.

Что-бы для такого ГСМ как ты было понятнее, возьми грузчика, который сидит, ничего не делает, и ждёт, пока ему вагон подвезут на разгрузку. Несмотря на то, что он нихрена не делает, зарплату ему платят, ибо на работу он приходит вовремя, и свои обязанности выполняет на все 100%, и на работе не спит, а работает.

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

то процессор не простаивает, а работает дальше?

OoO, HT и прочие плюшки не на пустом месте появились.

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

возьми грузчика, который сидит, ничего не делает, и ждёт, пока ему вагон подвезут на разгрузку

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

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

Пока он ждет первый вагон, он может разгружать второй.

у тебя неправильная материнская плата. Вот посмотри на картинку. Вот если-бы у тебя была такая, то да, пока один процессор пилит xz, второй может чем-то другим заняться. А теперь посмотри на свою плату: у тебя ОДНА память. Её «многоканальность» - не более, чем выдумки маркетологов.

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

4.2 наглое.

сожми что-то большое и сжимаемое с помощью xz. Увидишь сам. Математики там никакой нет, тупо работа с памятью.

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

Ну тогда извини, пошёл я гуглить man libastral.so…

Если бы ты гуглил книги и читал их, было бы больше пользы. Твои знания об архитектуре CPU являются устарвшими даже для начала 90-х; ты несёшь бред, руководствуясь не конкретными знаниями и замерами, а домыслами.

видать - если ты упёрся, то тебя не переубедить. Ну ладно.

Переубедить в чём? Опять какие-то размытые формулировки с намёками на оскорбления.

Вот только, если у тебя промах кеша, то это совсем не S, а как раз таки R. Т.е. в top это выглядит как 100% загрузки.

Так значит ты это называешь «простаивает»? А когда не простаивает? Я надеюсь, ты в курсе, зачем в процессоре используется тактование?

Что-бы для такого ГСМ как ты было понятнее

О, а это уже классический переход на личности. Один из излюбленных приёмов демагогов — аргумент к личности. Не зря ты всё время демагогию вспоминаешь, поднаторел уже.

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

Математики там никакой нет, тупо работа с памятью.

Лицорука.жпг
Hardware prefetch для кого сделали?

Думаю, почему архиваторы любят L3 и быстрый кэш, ты сам найдешь?
hint: они работают в пределах небольшого окна, а не всей памяти.

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

Лицорука.жпг Hardware prefetch для кого сделали?

при чём тут это?

Думаю, почему архиваторы любят L3 и быстрый кэш, ты сам найдешь? hint: они работают в пределах небольшого окна, а не всей памяти.

hint: посмотри сам, какое там «окно». Если что, мы про xz говорим.

т.к. ты наверное сейчас в Windows™, и проверить не в состоянии, то я для тебя процитирую:

   Memory usage
       The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on  the  compression  settings.
       The  settings  used  when compressing a file determine the memory requirements of the decompressor.  Typically the decom-
       pressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file.  For example, decom-
       pressing  a  file  created  with xz -9 currently requires 65 MiB of memory.  Still, it is possible to have .xz files that
       require several gigabytes of memory to decompress.

       Especially users of older systems may find the possibility of very large memory usage annoying.  To prevent uncomfortable
       surprises,  xz  has  a built-in memory usage limiter, which is disabled by default.  While some operating systems provide
       ways to limit the memory usage of processes, relying on it wasn't deemed to be flexible enough (e.g. using  ulimit(1)  to
       limit virtual memory tends to cripple mmap(2)).

       The  memory  usage  limiter can be enabled with the command line option --memlimit=limit.  Often it is more convenient to
       enable the limiter by default by setting the environment variable XZ_DEFAULTS, e.g. XZ_DEFAULTS=--memlimit=150MiB.  It is
       possible  to  set  the  limits separately for compression and decompression by using --memlimit-compress=limit and --mem-
       limit-decompress=limit.  Using these two options outside XZ_DEFAULTS is rarely useful because a single run of  xz  cannot
       do both compression and decompression and --memlimit=limit (or -M limit) is shorter to type on the command line.

       If  the  specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file
       will fail.  If the limit is exceeded when compressing, xz will try to scale the settings down so that  the  limit  is  no
       longer  exceeded  (except when using --format=raw or --no-adjust).  This way the operation won't fail unless the limit is
       very small.  The scaling of the settings is done in steps that don't match the compression level  presets,  e.g.  if  the
       limit  is  only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all
       the way down to xz -8.

не благодари, мне не сложно, у меня Linux.

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

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings.

Выделенной, но не используемой.

не благодари, мне не сложно, у меня Linux.

devl547@localhost ~ $ uname -a
Linux localhost 3.8.2-pf #1 SMP PREEMPT Tue Apr 9 01:05:30 MSK 2013 i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux

А так толсто троллить Изю будешь, его не жалко :3

А еще если интересно, почитай документацию Коливаса на его lrzip.

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

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings.

Выделенной, но не используемой.

да, конечно. Чушь не пори, ей больно.

Linux localhost 3.8.2-pf #1 SMP PREEMPT Tue Apr 9 01:05:30 MSK 2013 i686 Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz GenuineIntel GNU/Linux

Linux ksu 3.8.4 #2 SMP Tue Mar 26 23:52:24 CDT 2013 x86_64 Intel(R) Pentium(R) CPU G2020 @ 2.90GHz GenuineIntel GNU/Linux

у меня толще.

А так толсто троллить Изю будешь, его не жалко

почему-же ты ман до сих пор не прочитал? Я думал - у тебя венда, а ты просто ***^Wне осилил.

А еще если интересно, почитай документацию Коливаса на его lrzip.

зачем мне lrzip-то? Может ещё Женьку читать пошлёшь? А то я может в PPMD WinRAR'овсом ничего не понимаю?

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

Ubuntu жрет и тормозит уже похлеще некошерной семерочки.

Какое наглое вранье.

У меня на серверах, в ВПСке (Ubuntu Server 12.04 LTS) и на десктопе/ноутбуке (Ubuntu 13.04) летает.

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

Ubuntu жрет и тормозит уже похлеще некошерной семерочки.

Какое наглое вранье.

нет. Это действительно так.

и на десктопе/ноутбуке (Ubuntu 13.04) летает.

а Windows7 тормозит?

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

Не учись по вики.

вот эта статья http://en.wikipedia.org/wiki/Cache_miss#Cache_miss вполне годная. Впрочем как и большинство статей в английской вике. А русская - да, согласен. Местами УГ. И модераторы там тупые, и с ЧСВ Over9000(потому и никто не правит).

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

что проц при интенсивной работе с памятью, как ни странно, тоже работает, а вовсе не «простаивает».

конечно «работает», как тот грузчик. Принцип любого сжимателя(и xz тоже) — предсказать очередной символ, в зависимости от контекста. Причём контекстов надо помнить МНОГО, IRL гигабайты (чем больше, тем лучше сжатие). Как думаешь, что делает процессор, если ему надо посмотреть очередной контекст, а его почему-то нет в кеше? Думаешь он говорит «да ну и ладно, пойду биткоины майнить!»? Неа. Он ЖДЁТ, ибо задача такая. Причём НЕ спит, а именно ждёт наготове. А контекст может быть В ЛЮБОМ месте памяти, если ты конечно не /dev/zero сжимаешь. При разжатии нужно меньше памяти(сотни метров, а не гигабайты), ибо все контексты запоминать уже не нужно, xz знает, какие нужны, а какие - не нужны. Но ни в какой кеш это всё равно не влезает.

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

конечно «работает»

Так ты же говорил «простаивает». А сейчас говоришь, что работает.

IRL гигабайты (чем больше, тем лучше сжатие)

При разжатии нужно меньше памяти(сотни метров, а не гигабайты)

Чем упоролся? Ман у xz давно читал? (У меня в роутере с 32 метрами ОЗУ rootfs запакована xz. Какие гигабайты?)

Думаешь он говорит «да ну и ладно, пойду биткоины майнить!»

Эвона кака дурь-то забористая. Никогда её больше не кури.

i-rinat ★★★★★
()

e4rat ещё не предлагали? Хорошая утилита для оптимизации скорости загрузки ситемы (только для жёстких дисков с разделами на файловой системе ext4).

Programmist11180 ★★★
()

Парень! Поставь слаку!

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