Название: линукс зависает... Отправлено: 777 от 21 Апреля 2015, 18:10:43 Как бы сделать так, чтобы линукс не зависал? :help:
При заполнении памяти все начинает жутко тормозить и в итоге приходится выключать компьютер! wall Индикатор HDD постоянно горит, рабочий стол обновляется со скоростью 1 кадр в сколько-то минут, переключение на текстовый телетайп не помогает. Винда ХР (2001 г.) просто снимает проблемную задачу, потом следующую и т.д., в итоге хоть что-то остается работать, а в линуксе вообще ни какого контроля по умолчанию не предусмотрено. И 10 лет назад так было (ред хат 6, 7), и сейчас так же - ничего не поменялось :-\ Название: Re: линукс зависает... Отправлено: Ариец от 26 Апреля 2015, 23:14:33 Что-то мне подсказывает, что дело не в Linux. :smile:
Это нужно умудриться забить 16 гигов ОЗУ. Из относительно свежей истории на моей памяти Linux сожрал все выделенные 3 Гб ОЗУ только однажды, - при сборке из исходных кодов Thunderbird. Тогда я вспомнил, что у меня есть ещё один не используемый гигобайт ОЗУ и своп раздел на 8 Гб я их задействовал и проблема решилась. :smile: Во всяком случае, на пока... Путей стероизации GNU/Linux великое множество, но для начала необходимо выяснить, - что у тебя безконтрольно жрёт память? Код: ps -axu Ну а что касается управления процессами, то стандарт POSIX определяет 28 сигналов (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B_%28UNIX%29), которые могут быть переданы процессу из которых для рядового юзеря имеют смысл только 5-6: HUP, INT, KILL, STOP, CONT и, пожалуй, TERM. Подробности использования расскажет Код: man kill Также крайне полезным будет вот этот гайд (http://heap.altlinux.org/modules/linux_processes.kirill/index.html) по ручному управлению процессами. Название: Re: линукс зависает... Отправлено: 777 от 27 Апреля 2015, 21:15:43 16 гиг заполняются просто - я на вебсервере когда-то поотключал всякие лимиты, в общем это нужно иногда чтоб тяжелый скрипт запустить
И вот бывает, запускашь такой скрипт который жрет 2 гигабайта (сборка xampp 32-битная), потом еще несколько раз, а старые процессы не останавливаются, память не освобождается. Еще wget например когда работает долго, памяти жрет много, гигабайтами. Вобщем это наверное не баг а фича, я уже приноровился перезапускать вебсервер, но вообще интересно почему Линукс сам не отслеживает переполнение памяти? Название: Re: линукс зависает... Отправлено: Svets777 от 27 Апреля 2015, 22:23:55 Еще wget например когда работает долго, памяти жрет много, гигабайтами. переустанови да и всё, у меня тоже за 4 года память сожрал, я просто напросто купила переносной жесткий диск, сохранила всю нужную мне информацию и переустановила систему, сразу всё заработало, а так тоже отключаться само собой стало.Название: Re: линукс зависает... Отправлено: Ариец от 28 Апреля 2015, 11:44:27 16 гиг заполняются просто - я на вебсервере когда-то поотключал всякие лимиты, в общем это нужно иногда чтоб тяжелый скрипт запустить И вот бывает, запускашь такой скрипт который жрет 2 гигабайта (сборка xampp 32-битная), потом еще несколько раз, а старые процессы не останавливаются, память не освобождается. Еще wget например когда работает долго, памяти жрет много, гигабайтами. Вобщем это наверное не баг а фича, я уже приноровился перезапускать вебсервер, но вообще интересно почему Линукс сам не отслеживает переполнение памяти? Непонятно. Нужно посмотреть содержимое файлов: /tmp/ps.log и /tmp/free.log Код: ps -axuf > /tmp/ps.log Название: Re: линукс зависает... Отправлено: 777 от 28 Апреля 2015, 11:59:09 переустанови да и всё, у меня тоже за 4 года память сожрал, я просто напросто купила переносной жесткий диск, сохранила всю нужную мне информацию и переустановила систему, сразу всё заработало, а так тоже отключаться само собой стало. Это скорее из профессиональной области вопрос :smile: Про память я имел в виду - оперативную память, а не жесткий диск. Так то сама система не тормозит когда ее специально не нагружать, работает практически как новая. А wget это специальная программа для скачивания файлов с интернета, и то что она жрет много оперативной памяти это нормально, так и должно быть, когда файлов очень много, вопрос не в ней. А вопрос к Арийцу такой, можно ли настроить так чтобы Линукс предупреждал при заполнении памяти, и снимал бы процессы автоматически. Название: Re: линукс зависает... Отправлено: 777 от 28 Апреля 2015, 12:03:32 Непонятно. Нужно посмотреть содержимое файлов: /tmp/ps.log и /tmp/free.log Код: ps -axuf > /tmp/ps.log free Код: total used free shared buffers cached ps.log -> длинная простыня Ну сейчас то память не забита, вебсервер остановлен, и wget тоже не работает :) Почему память заполняется я знаю, вот непонятно почему система автоматически не отслеживает ее переполнение. Название: Re: линукс зависает... Отправлено: Ариец от 28 Апреля 2015, 12:54:17 На данный момент (справедливо для ядер не старше Linux 3.18.x; как в 3.19.x и 4.0 не знаю, не проверял) у ядра Linux два c половиной штатных планировщика ввода-вывода (IO): Deadline, CFQ и noop.
Есть ещё BFQ, - более современная версия CFQ, но она докупается отдельно: http://algo.ing.unimo.it/people/paolo/disk_sched/patches/3.18.0-v7r7/ (http://algo.ing.unimo.it/people/paolo/disk_sched/patches/3.18.0-v7r7/) BFQ уже используется по умолчанию в ведроидах, дженту, арче и некоторых других. Но я не знаю, даст ли какой-то ощутимый эффект смена одного лишь планировщика ввода-вывода. Скорее всего тебе нужно копать в сторону pf-kernel. Там помимо BFQ, уже включена в поставку UKSM и некоторое другое ПО, которое нескоро появится в ванильном ядре. https://pf.natalenko.name/ (https://pf.natalenko.name/) Название: Re: линукс зависает... Отправлено: 777 от 28 Апреля 2015, 15:56:34 pf-kernel - написано, что это форк, на v4.0
У меня 3,14.27... Экспериментировать чё-то неохота на рабочем компе Раз простых стабильных решений нет, будем ждать может когда-нибудь че-нибудь появится Название: Re: линукс зависает... Отправлено: Ы от 07 Мая 2015, 20:09:54 Это нужно умудриться забить 16 гигов ОЗУ. запускаешь Firefox в 20-30 вкладок с флешевым содержимым и память потекла в неведомое русло ;D Название: Re: линукс зависает... Отправлено: Ариец от 08 Мая 2015, 16:42:31 запускаешь Firefox в 20-30 вкладок с флешевым содержимым и память потекла в неведомое русло ;D так это проблемы flash-player'a и Firefox, а не GNU/Linux. Mozilla Firefox, давно уже не браузер, кстати. Название: Re: линукс зависает... Отправлено: 777 от 14 Мая 2015, 17:23:28 Еще один прикол:
$ rm -rf ./каталог_с_файлами/* bash: /bin/rm: Слишком длинный список аргументов Оказывается, Линукс больше 64 000 файлов удалять не умеет ;D Интересно, это ограничение осталось с 1991 года, или с 1970? Удалил через коммандер. Название: Re: линукс зависает... Отправлено: Ариец от 15 Мая 2015, 19:59:17 Ты неправильно удаляешь файлы с rm из командной строки. ;D Правильно так:
Код: cd $TARGET; find . -type f -print0 | xargs -0 rm; cd ..; rmdir $TARGET где $TARGET - каталог, который нужно удалить. То, что написала тебе rm - это стандартная защита от дурака. Она имеется практически во всех GNU core tools. :smile: P.S. Я написал код в развёрнутом виде, чтобы было понятно что делается. Можно более в сжатой форме... Сам догонишь? ;) P.P.S. если каталог, предназначенный для удаления содержит вложенные подкаталоги, код сделует слегка изменить: Код: cd $TARGET; find . -type f -print0 | xargs -0 rm; find . -type -d -print0 | xargs -0 rmdir; cd ..; rmdir $TARGET опять же, дано в развёрнутой форме... При желании можно изложить свою мысль системе более кратко... P.P.P.S. Корень в современных *nix системах ты так просто с помощью rm -rf вообще не удалишь... P.P.P.P.S. Мой код, не смотря на более длинную форму записи, выполняется ровно в десять раз быстрее твоего. :-X Можешь проверить на досуге. :-X P.P.P.P.P.S. Канвейер и рыгэпсы нашё всё... O0 krevedko Название: Re: линукс зависает... Отправлено: 777 от 16 Мая 2015, 22:16:50 Саму папку не хотел удалять...
А если нужно стереть все файлы по определенному шаблону, например во всех подкаталогах, в общем типа этого: rm -rf ./*/*.txt Тут уже без C++ не обойтись? Надеялся что попроще решение есть Еще прикольно, что тут команда "cd ..", вот так где нибудь ошибешься, и оно залезет в домашний каталог и все там поудаляет :o З.Ы. Цитировать P.P.P.P.P.S. Канвейер и рыгэпсы нашё всё... Афро Йа креведко Regex ищет быстрее чем wildcards? Вот уж не думал Название: Re: линукс зависает... Отправлено: 777 от 16 Мая 2015, 23:33:46 Нашел в интернете:
perl -e 'for(<*>){((stat)[9]<(unlink))}' написано что в 2 раза быстрее удаляет, чем через find В следующий раз наверное этот способ попробую. Ты в этих кракозябрах не разбираешься? Оно ничего лишнего не сотрет? :smile: Название: Re: линукс зависает... Отправлено: 777 от 26 Мая 2015, 17:32:34 Ну вот в КДЕ такое есть, например так навскидку:
1) ALT+TAB иногда залипает - на ЛОРе пишут что нужно отключить свою раскладку для каждого окна (Win95 MODE ON) 2) В режиме Alt+Tab, при выборе мышью - перелистывает сразу через несколько окон. Мелочь вроде но надоедает. Иногда нормально работает 3) В спящий режим иногда не уходит - зависает (сейчас редко, может раз в месяц) 4) Переключение раскладки настроено по Ctrl+Shift, не работает ни одна комбинация Ctrl+Shift+[другая клавиша] 5) Если через проводник создать новый текстовый файл, в нем уже будет заранее добавлено 2 пробела и перенос строки 6) Нет функции прочистки дюз струйного принтера (видимо драйвер такой, но другого нет) 7) В кде 4 первые месяцы был такой "прикол" - выдает что файл уже скопирован (перемещен, заархивирован, ..) а на самом деле оно еще только начинает копировать! В итоге файл источник удаляешь, а он еще не заархивировался, или флешка еще не записалась и т.д.! 8 ) Про DVD и Blu-Ray писать не буду, долго. Тем более сейчас более менее работает 9) На ноутбуке Wi-fi через несколько минут отключается, помогает только перезагрузка (там установлен Xfce). ... ∞) ... Это то что сейчас вспомнил Название: Re: линукс зависает... Отправлено: Ариец от 26 Мая 2015, 20:09:30 Ну вот в КДЕ такое есть, например так навскидку: 1) ALT+TAB иногда залипает - на ЛОРе пишут что нужно отключить свою раскладку для каждого окна (Win95 MODE ON) 2) В режиме Alt+Tab, при выборе мышью - перелистывает сразу через несколько окон. Мелочь вроде но надоедает. Иногда нормально работает 3) В спящий режим иногда не уходит - зависает (сейчас редко, может раз в месяц) 4) Переключение раскладки настроено по Ctrl+Shift, не работает ни одна комбинация Ctrl+Shift+[другая клавиша] 5) Если через проводник создать новый текстовый файл, в нем уже будет заранее добавлено 2 пробела и перенос строки 6) Нет функции прочистки дюз струйного принтера (видимо драйвер такой, но другого нет) 7) В кде 4 первые месяцы был такой "прикол" - выдает что файл уже скопирован (перемещен, заархивирован, ..) а на самом деле оно еще только начинает копировать! В итоге файл источник удаляешь, а он еще не заархивировался, или флешка еще не записалась и т.д.! 8 ) Про DVD и Blu-Ray писать не буду, долго. Тем более сейчас более менее работает 9) На ноутбуке Wi-fi через несколько минут отключается, помогает только перезагрузка (там установлен Xfce). ... ∞) ... Это то что сейчас вспомнил Хорошо, есть проблемы? Давай решать. 3. TuxOnIce тебе в помощь. Входит в состав ранее советуемого тебе набора патчей pf-kernel (https://pf.natalenko.name/). 4. У меня переключение раскладок также по Ctrl+Shift. Правда рабочий стол XFCE. Не припомню, чтобы были какие-то проблемы с подобными комбинациями горячих клавиш. Например, в том же The GIMP или Inkscape все комбинации работают на ура, в том числе и Ctrl+Shift+Alt+* . Проставлю как-нибудь на досуге кеды, посмотрю как там. Вообще-же, проблемы с горячими клавишами иногда бывают, - когда в одном приложении запущено другое приложение (например, стандартная для *nix ситуация - эмулятор терминала + mc, или, например, другой какой-нибудь эмулятор и запускаемое под ним приложение). В таких случаях, одно приложение (как правило, "родительское" окно) просто игнорирует горячие клавиши "дочернего" приложения и отрабатывает свои бинды. В таких случая помогает перенастройка горячих клавиш в одном из приложений. Разработчики "родительских" приложений тоже не лохи и как правило, предоставляют решения для подобных проблем. 7. Это не проблема KDE, это проблема некоторых файловых систем. Решения разные, но где-то в кедах есть галочка - не писать, что файл скопирован, пока он не скопирован. Разработчики KDE тоже не лохи. 9. Надо копать. Вообще-жа, давай решим эти проблемы, дальше будет видно. |