firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
Преветствую всех! Давно хотел выразить благодарность сообществу, но как у Джадда Вайнета у меня не получится, ибо в программной сфере я дуб-дубом. Ну хоть что-то полезное, хотя бы советом по оптимизации. И тут как раз подворачивается такой случай — глупо упускать :) Преамбула Начну с того, что я ярый противник подкачки. Мне винда несколько дисков поломала своей подкачкой, пока я не понял в чём дело, и не вырубил её ещё в винде. Переходя на Linux я само-собой намеренно не создавал раздел swap (и тем более, когда HDD заменил на SSD). В принципе, если в игры не играть и хромом не пользоваться, то моих 4GiB памяти (больше в материнку не вставить) вполне достаточно. Но иногда, например во время компиляции из AUR чего-то большого, возникают-таки проблемы из-за нехватки памяти. Суть И тут вдруг на днях в мою хабраленту прилетает статья про один из модулей ядра — zram. Не хочется коряво пересказывать тут статью, но в двух словах опишу, как я понял её суть: создаётся некое устройство и размещается в памяти, данные попадающие в это устройство сжимаются, причём сжимаются многократно (в смысле по объёму, а не по количеству циклов сжатия :), какие данные в него попадают — зависит от того, в качестве чего используется это устройство. Я ещё читая статью понял, что для меня было бы самым разумным использовать его для подкачки. Но из статьи лично я не понял, как же настраивать всё это. Поиски Мне нужна была дополнительная информация, за которой я полез на нашу arch-wiki. Но конкретно про модуль zram и его настройку ничего не нашёл. Зато в статье Maximizing Performance обнаружился пункт Compcache/Zram, который интересен не столько информацией про zram, сколько про утилиту zramswap. Статья на русский недопереведена, и этого пункта в русском варианте нет. Поэтому позволю себе вольный его перевод. Zram (ранее называемый Compcache) — модуль ядра, который создаёт в оперативной памяти устройство и сжимает его. Если использовать его для подкачки, то часть оперативной памяти может хранить гораздо большее количество информации, но при этом используется несколько больше ресурсов процессора. Тем не менее, такая подкачка намного быстрее, чем обмен данными с жестким диском. Если система часто уходит в swap, это может улучшить отклик. Бинго! Это же ровно то, что мне было нужно: устройства по количеству ядер, общий объём соответствующий оперативке, использование для подкачки. И никакие маны дополнительно курить не нужно! Всё, что я сделал, это:
Тесты После рестарта я увидел следующее: До этого третий столбец был тёмно-серый с надписью (ЕМНИП) „Подкачка недоступна‟. Теперь же она появилась, при том, что (как я говорил ранее) на диске раздела swap нет. Но пустой виртуальный swap не сильно забавляет — нужно его потестировать. Для теста решил поставить игру Champions of Regnum из Steam. Я запустил всё, что только мог — браузеры, в том числе хромого, офис, графические редакторы, rss-читалку, и прочее, что хоть как-то ощутимо кушало память, хоть по 100 метров. Упёрся почти в потолок физической памяти. Вот тут-то и понадобилась игра (запущенная с максимальными настройками), которая по идее должна была выпихнуть из обычной памяти данные в swap. Что и случилось :) — после выключения игры (во время игры полноэкранный режим не давал посмотреть на состояние памяти) я увидел такую картину: То есть игра выпихнула менее актуальные на тот момент данные в виртуальный swap, который их сжал попутно. Далее при закрытии игра ушла из памяти, освободив в ней место. После этого я долго пользовался системой в обычном режиме. Физическая память потихоньку заполнялась и при закрытии программ — освобождалась. А вот состояние swap почти не менялось. Из чего я сделал вывод, что данные в него утрамбовались, и далее считывались оттуда налету. А они должны были считываться, ведь программы я старался не закрывать, и использовал их. Затем я ещё раз запустил игру. После её выключения состояние памяти было примерно таким же, только объём занятого swap вырос с 18% до 23%, а физическая память чуть больше освободилась. То бишь ещё больше данных утрамбовалось. Итоги Итак, что мы имеем?
P.S. В след за wiki повторю, что модуль ещё не допилен до состояния стабильности, и его следует использовать с осторожностью. Хотя мне видится единственная возможная проблема с его нестабильностью — при падении или чего-то ещё могут потеряться не сохранённые изменения ваших файлов. Поэтому, как и без активации этого модуля, — просто чаще сохраняйтесь ;) P.P.S. Буду благодарен за конструктивную критику и за поправки от знатоков и экспертов, в том числе по переводу.
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
DganicВ почти любом месте в панелях лисы тыкаете правой кнопкой мыши, и в выпадающей менюшке выберите "Панель заголовка": Открывается новое окно с подробной инструкцией. Адрес инструкции chrome://oxygenkdeoptions/content/page/exceptionsguide.html Она на инглише - что не поймёте, пишите. P.S. Ну а настройки аддона - следующий пункт)
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
maisvendoo Может оно и есть 1280х800, я этой уродине под юбку не заглядывал. Ну да, NVidia такая, одна карта может одно, другая другое. Да и я уже забил на это всё - 5мин/месяц нахождения в консоли (редкие случаи, когда надо зайти под рутом, но не охото юзать su) не стоит того времени, что тратится на настройку это консоли. А насущные задачи консольные я нормально решаю в Yakuake. А метод вообще-то хорош. Меньше 5 минут все настройки.
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
Всё как у вас, за исключением второй строчки в /etc/default/grub (0 ибо не нуждаюсь в разглядывании меню граба), и всё равно 1024х768 растянутые в безобразие. Видимо у меня просто видюха никчёмная =(
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
А в /etc/mkinitcpio.conf в строку MODULES=""
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
Хмм... спасибо, что наводите на правильные мысли. Я вспомнил, что ковырялся раньше с этим конфигом (/etc/default/grub). Но теперь уже не понимаю, что может мешать новому варианту борьбы с консолью. Может вы какую неправильность заметите: GRUB_DEFAULT=0 GRUB_TIMEOUT=0 GRUB_DISTRIBUTOR="Arch" GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX="auto" # Preload both GPT and MBR modules so that they are not missed GRUB_PRELOAD_MODULES="part_gpt part_msdos" # Uncomment to enable Hidden Menu, and optionally hide the timeout count #GRUB_HIDDEN_TIMEOUT=5 #GRUB_HIDDEN_TIMEOUT_QUIET=true # Uncomment to use basic console GRUB_TERMINAL_INPUT=console # Uncomment to disable graphical terminal #GRUB_TERMINAL_OUTPUT=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' GRUB_GFXMODE=auto # Uncomment to allow the kernel use the same resolution used by grub #GRUB_GFXPAYLOAD_LINUX=keep # Uncomment if you want GRUB to pass to the Linux kernel the old parameter # format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries GRUB_DISABLE_RECOVERY=true # Uncomment and set to the desired menu colors. Used by normal and wallpaper # modes only. Entries specified as foreground/background. #GRUB_COLOR_NORMAL="light-blue/black" #GRUB_COLOR_HIGHLIGHT="light-cyan/blue" # Uncomment one of them for the gfx desired, a image background or a gfxtheme #GRUB_BACKGROUND="/path/to/wallpaper" #GRUB_THEME="/path/to/gfxtheme" # Uncomment to get a beep at GRUB start #GRUB_INIT_TUNE="480 440 1" #GRUB_SAVEDEFAULT="true"
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
Почему-то не помогло. Делал всё пошагово, буква в букву. Карта GeForce GT 430. Ядро не паникует, но и в консоли те же долбаные 1024х768 :(
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
Это значит принудительно:$ pacman -S --help использование: pacman {-S --sync} [параметры] [пакет(ы)] параметры: ... -f, --force принудительная установка, перезаписывать конфликтующие файлы ... $ sudo pacman -Sf lib32-qt4
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
Спасибо! Удалил пятый куть, и всё срослось. Еле вспомнил зачем его ставил. Но один момент мне всё-таки крышу сносит. Стоит четвёртый куть, стоит fontmatrix, который надо пересобрать, и которому нужен qtwebkit из состава четвёртого кутя. Всё есть, собирайся и вставай на своё место обновленным. Ан-нет! Увидел тот же qtwebkit из пятого кутя, упёрся в него рогом - мол не буду это есть! Может оно всё так и должно быть, и я просто ничего не понимаю в этих И всё с той же колокольни вопрос озвучить хочется. Вот переделали qt с qt4 на qt5, переписали зависимости от qt на зависимости от qt4, а от самого qt (в качестве которого теперь qt5) пока толком ничего не зависит, кроме пары тройки пакетов в AUR`е. А что же тогда начнётся когда нужные многим пакеты начнут зависеть от пятого, и будут тянуть его, при этом остальные ещё от четвертого продолжат зависеть? Это вот с каждым таким пакетом с "устаревшими" зависимостями такие траблы начнутся - типа "снесите пятый куть, обновите пакеты, установите пятый куть обратно"? Только вот снести не получится, ибо его другие пакеты (в большом количестве) уже будут требовать. Боже, как эту всю байду мейнтейнеры разруливают? %(
Я не красноглазик, я фаерфоксик ^_^
|
firefoxic |
|
Темы:
7
Сообщения:
112
Участник с: 12 января 2013
|
NatrioИменно новая, именно из AUR, именно не собирается. При обновлении. Вот полный вывод, если тот не информативен: $ yaourt -Syua :: Синхронизируются базы данных пакетов... core не устарел extra не устарел community не устарел archlinuxfr не устарел faelementary-icon-theme : Orphan Foreign packages: \ 67 / 67 ==> Package upgrade only (new release): aur/fontmatrix 0.6.0-3 3 -> 4 ==> Continue upgrade ? [Y/n] ==> [V]iew package detail [M]anually select packages ==> -------------------------------------------------- ==> ==> Downloading fontmatrix PKGBUILD from AUR... x PKGBUILD Comment by vesath (2012-10-31 18:41) michalm: Please address the last five comments (which go back to January), or I will consider you inactive and orphan this package in a week. Comment by Markus00000 (2012-12-21 20:02) The website seems to be http://fontmatrix.be. Comment by giniu (2013-03-01 11:08) Please update for Qt5 and Qt=Qt4 rename. Comment by vesath (2013-03-03 05:48) jorge_barroso: Thanks for adopting this package but the PKGBUILD is still horrible: For the package to compile properly, qtwebkit must be a dependency and cmake a make-dependency. The arch array must not be 'any' as the resulting binaries are architecture-dependent. The CMAKE_INSTALL_PREFIX is plain wrong. The "|| return 1" have been obsolete for the past two years, etc. Please update to this cleaned-up version: http://arch.vesath.org/all/fontmatrix-0.6.0-4.src.tar.gz Comment by jorge_barroso (2013-03-03 11:36) You're welcome vesath. I know it stills horrible, I adopted it at night and made a few changes (I don't know if I even did so, I was adopting some packages and a couple of them aren't even checkedyet). Sorry by "|| return 1" the other day I read the packaging guidelines in spanish, and the one who has translated that wikipage into spanish (before I finished it) included that, so It's my fault. I'll check the PKGBUILD fontmatrix 0.6.0-4 (Пн янв 21 23:01:35 MSK 2008) ( Unsupported package: Potentially dangerous ! ) ==> Edit PKGBUILD ? [Y/n] ("A" to abort) ==> ------------------------------------ ==> n ==> fontmatrix dependencies: - qtwebkit (already installed) - mesa (already installed) - cmake (already installed) ==> Continue building fontmatrix ? [Y/n] ==> ------------------------------------ ==> ==> Building and installing package ==> Сборка пакета: fontmatrix 0.6.0-4 (Пн мар 4 09:26:47 MSK 2013) ==> Проверяю необходимые для запуска зависимости... ==> Проверяю необходимые для сборки зависимости... ==> Получение исходных файлов... -> Загрузка fontmatrix-0.6.0-Source.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2432k 100 2432k 0 0 628k 0 0:00:03 0:00:03 --:--:-- 628k ==> Проверка исходных файлов с помощью sha512sums... fontmatrix-0.6.0-Source.tar.gz ... Готово ==> Распаковка исходных файлов... -> Извлечение fontmatrix-0.6.0-Source.tar.gz с помощью bsdtar ==> Запускается build()... -- The C compiler identification is GNU 4.7.2 -- The CXX compiler identification is GNU 4.7.2 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Building Fontmatrix 0.6.0 -- Fontmatrix will be installed under /usr -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - not found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:1216 (message): Found unsuitable Qt version "5.0.1" from /usr/bin/qmake, this code requires Qt 4.x Call Stack (most recent call first): CMakeLists.txt:111 (FIND_PACKAGE) -- Configuring incomplete, errors occurred! ==> ОШИБКА: Произошел сбой в build(). Преждевременный выход... ==> ERROR: Makepkg was unable to build fontmatrix. ==> Restart building fontmatrix ? [y/N]
Я не красноглазик, я фаерфоксик ^_^
|