Укрощение лисы

2018-04-12

…или как снизить потребление памяти прожорливого firefox и заставить linux жить по средствам.

Сейчас иногда использую в качестве мобильного рабочего места ноут Samsung R522 — впечатляющая даже по сегодняшним меркам машинка, но всего с 2G RAM на борту. В основном я работаю либо с совсем низкоуровневыми программами (vim, tmux, mutt, mbsync, mercurial, pandoc, … что еще нужно человеку для полного счастья?) и прельстиво и любовно допиленным openbox. Однако, quantum firefox способен сожрать всю память и завесить систему. Ко всему прочему, чтобы пощадить винт, я принципиально отключил своп. Посему начали случаться моменты когда система зависала. Это не совсем зависание — как написали на одном из форумов «just highly unresponsible» — но обычно у меня не хватало терпения ждать и я перезагружал машину.

Некоторое время я пытался настроить firefox на меньшую прожорливость, проверял плагинки, обновлял базы — в общем все необходимые ритуальные танцы. В конце-концов стало понятно, что проблема не в браузере.

Я забрался в докуметацию и выяснил интересную штуку. Оказывается, в ядре есть такая настройка, как memory overcommit — выделение приложению памяти больше, чем есть в наличии. Я не копал глубоко вопрос почему и зачем это сделано — по моим предположениям такой режим выгоден (а) когда запущено много разных приложений и есть шанс, что недостающая память случайным образом высвободится за счет закрытия другой программы, к моменту когда она понадобится программе текущей (привет теории массового обслуживания), (б) расчет идет на то, что если лимит памяти будет превышен — пойдет сброс лишнего в своп (которого у меня нет) и (в) если будет совсем плохо запустится task killer и прибьет какое-нибудь ненужное приложение (на практике killer обычно тупит).

За режим выделения памяти отвечают переменные vm.overcommit_memory — которая задает режим выделения памяти и vm.overcommit_ratio, которая определяет насколько можно превысить пределы.

По дефолту у меня были режим 0 и 50% соответственно:


cat /proc/sys/vm/overcommit_memory
0

cat /proc/sys/vm/overcommit_ratio
50

Я их поменял на «режим 2» (не выдавать память авансом — давать только то, что есть в наличии) и 98% (расходовать всю память минус 2% для баша на всякий пожарный) соответственно. Все равно памяти больше не станет — поэтому лучше, чтобы система «жила по средствам» и не тщилась съесть больше, чем есть в наличии.

Это можно сделать из-под рута на один сеанс (до перезагрузки — посмотреть, как поведет себя система):


echo 2 > /proc/sys/vm/overcommit_memory
echo 98 > /proc/sys/vm/overcommit_ratio

Либо открыть из-под рута в текстовом редакторе /etc/sysctl.conf

и добавить туда пару строчек:

# профилактируем оверкоммиты памяти
vm.overcommit_ratio = 98
vm.overcommit_memory = 2

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

В теории это может вызвать подтормаживание лисы, но я побочных эффектов пока не заметил, зато система стала работать стабильно, что не может не радовать.

Реклама

К годовщие Firefox или почему у мозиллы может получиться

2015-11-23

Если говорить о десктопе, то я почти всегда предпочитаю оффлайновое (десктопное) приложение онлайновому. То есть читать почту из thunderbird’а, а не из веб-интерфейса. Читаю книги с диска, а не из онлайновой библиотеки (только одно исключение — когда нужно оперативно найти цитату). Смотрю кино оффлайновым плейером, а не из тытруба. И так далее, и тому подобное.

Со смартфоном ситуация строго обратная. Какое-то время я ставил разные приложения типа прогноза погоды с wunderground’а, фейсбук мессенджера и т.д. и т.п. Потом открыл для себя такую чудесную штуку, как «страница -> добавить на домашний экран» в андроидном firefox. Эта штука добавляет на рабочий экран иконку, которая является закладкой на нужную страницу. То есть вместо огромного фейсбук мессенджера можно оставить иконку на страничку с сообщениями (а еще на страничку новостей, на страничку мероприятий) — и сэкономить этим пространство и время. Все равно без интернета мессенджер бесполезен, а с интернетом — с равным успехом можно сидеть и через браузер. Дальше последовали иконки-ярлыки на погодные сайты, на твиттер, на ЖЖ, на наиболее интересные для меня сайты и я проникся системой целиком.

Разница в функционале практически незаметна. При этом я имею **длинный список приложений** по цене одного firefox, который все равно стоит у меня по дефолту. Это не только экономия пространства — это позволяет:

— не качать каждый раз мегабайты апгрейдов и обновлений, когда выходит новая версия софта

— не думать про пароли и логины. firefox синхронизирует их с десктопной версией — и необходимость каждый раз при сбое вводить все заново здорово раздражает

— полный контроль за трафиком. проблема андроидного софта в том, что он считает себя умным и приоритетным — и каждый раз на включении интернета выкачивает свежую версию погоды, список пользователей он- и офф-лайн, список новостей и обновлений и несть этому конца и края. кое где (кое! где!) это лечится установкой правильных галочек и опций, но это заведомо лишние телодвижения (см пункт про логины и пароли), а чаще это не лечится вообще

— last but not least: полный контроль за поведением софта. если вам знакома ситуация, когда вы выходя в интернеты чтобы посмотреть прогноз погоды получаете сообщение из мессенджера (или почту от шефа, например) — и залипаете на час — вы меня понимаете. а у того же мессенджера есть мерзкая привычка включаться в онлайн каждый раз, когда этот онлайн появляется.

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

И оценивая это, я начинаю понимать, что FirefoxOS это не такая уж и плохая идея, как принято думать.


Cleanup is automatic

2015-06-24

Еще немного о информационной перегрузке и о работе с информацией. Больше двух лет назад (в ноябре 2012-го) я натолкнулся на совет — делать большую часть временных вещей в папке /tmp. Эта папка доступна отовсюду, к ней удобно доступаться из командной строки и — самое главное — она очищается при перезагрузке машины. Я последовал совету и настроил /tmp, как дефолтную папку для загрузки файлов из firefox. Сначала меня одолевали сомнения — как это так, компьютер будет удалять мои загрузки без моего ведома, кто в конце концов тут хозяин — человек или машина? И так далее и тому подобное. После первых пары дней практики я изменил свое мнение.

Оказалось это — не только чертовски удобно, но и меняет подход к проблеме. До этого мне приходилось ежемесячно расчищать завалы в папке ~/Downloads — времязатратное, выматывающее занятие. Если кто-то расчищал подобный хлам — он меня поймет. Теперь же приходилось принимать решение сразу — если загруженный файл не скопировать куда-нибудь еще — при перезагрузке система его сотрет. Когда начинаешь копировать файл — решение о том, куда его определить приходит само и файл ложится не в папку «посмотреть_позже_когда_нибудь_в_долгом_ящике_с_котом_за_хвост», а строго на отведенное ему место. Кроме того, как оказалось, в 90% случаев файл загружается не для того, чтобы его куда-то сохранить, а для того, чтобы его просмотреть или прослушать. Если раньше при разборе таких файлов у меня срабатывал «Внутренний хомяк» («может стоит оставить его на всякий случай, а вдруг эта накладная еще пригодится… в будущем… моим потомкам»), то в этом случае проще предоставить файл самому себе и очищающей перезагрузке.

Система стимулировала принимать решение о утилизации загруженного файла сразу, на месте, причем дополнительным благом было то, что в случае различного информационного мусора решение можно было не принимать вообще. Сейчас я вообще не трачу время и силы на сортировку загрузок — нет необходимости. Единственной проблемой остаются неразобранные залежи старых файлов и папка с торрентами, где такой подход не работает.

Max Tabs, который я себе поставил, работает аналогичным образом. Лимит на количество открытых вкладок заставляет сразу принимать решение — чтобы открыть одиннадцатую вкладку, какую-то из десяти нужно закрыть. Просто закрыть? Добавить в закладки? Сохранить для чтения? Словом тот же подход — «решай или закрывай». Дополнительным бонусом — быстрая работа браузера.
Вот еще бы было расширение, которое бы очищало «неподшитые закладки» скажем раз в месяц — было бы совсем здорово.


Max Tabs и концентрация

2015-06-23

Заметил, что очень много энергии в последнее время тратится на соцсети и политику. В порядке эксперимента поставил себе Max Tabs и оставил дефолтные десять вкладок (может быть потом сокращу или расширю — практика покажет). Так же хочу поэкспериментировать с Личблоком — он у меня стоит давно, но толком я его не настраивал.

Об этом всем я подумывал давно — сейчас после статьи Почему мы больше не можем читать? решил заняться информационной гигиеной вплотную. После этой же статьи выкачал себе «The Organized Mind» Дэниэла Левитина. Штудирую. Плюс к этому (как-то оно все сходится, когда начинаешь изучать вопрос) — хороший обзор Никласа Карра у Москалюка (хотя с «разоблачениями» Талеба и Гладуэлла я не согласен :) и — заметка на австралийском Лайфхакере зачем ограничивать количество вкладок.

Похоже, что «многозадачность» сиречь быстрое переключение контекстов (вот это вот клик-клик-клик по табам) — очень энергозатратный процесс и некоторые ограничения должны принести пользу. Пожуем-увидим.


Разведение огнелисов в домашних условиях

2011-05-16

или установка firefox из tar.bz2 архива, а также способ всегда иметь свежего лиса к завтраку

firefox и thunderbird можно установить в Линуксе из репозитория (через synaptic или apt-get, например), а можно — напрямую из tar.bz2 архива с официального сайта mozilla. Второй способ требует немножко больше работы, зато позволяет после установки иметь всегда свежий firefox без возни со сторонними репозиториями и с минимумом хлопот.

Статья разбита на несколько частей — сначала идут довольно пространные объяснения о том где и что лежит, как установить firefox из архива (распаковать и положить в /opt), как сделать firefox браузером по умолчанию (так, чтобы клик по ссылке на pidgin или в thunderbird открывал именно firefox) и как обновлять firefox установленный таким образом (очень просто на самом деле). В самом конце я кратко перечислил все шаги в небольшой шпаргалке.

Читать дальше

Особая благодарность сэру vjoiller за.


Безмышинная навигация по Файрфокс и Быстрые Имена

2010-08-27

2010-08-27 11:04

Поставив себе OpenBox (отдельная долгая история, до описания которой у меня когда-нибудь должны дойти руки) в качестве среды обитания, очень быстро приобрел вкус к оптимизации пространства — в частности под работу исключительно с клавиатуры. И в конце-концов пришел к тому, что одна из самых «мышинных» программ на моей машине — это браузер. Существует радикальное решение — Vimperator, но оно мне не подходит по ряду причин.

Читать далее…


user.js

2010-06-09

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

Есть другой путь.

Читать далее…


%d такие блоггеры, как: