воскресенье, 15 июня 2014 г.

Оптимизация работы swap в Ubuntu

Известно, что в современных операционных системах используется такая технология, как виртуальная память, разработанная для многозадачных ОС.
В ОС семейства Windows файл, служащий для хранения неиспользуемой оперативной памяти в области жесткого диска, именуется «файлом подкачки» (pagefile.sys).
Его организация реализована далеко не лучшим образом (мягко говоря!). В ОС Linux еще при установке создается отдельный раздел подкачки — «Swap», что гораздо лучше.
Файл подкачки Windows и Linux-swap, располагаются на HDD (жестком диске). Когда оперативной памяти становиться недостаточно, происходит выгрузка страниц памяти из ОЗУ на жесткий диск, а когда вы снова обращаетесь к файлам, находящимся в разделе подкачки (swap), они снова загружаются в оперативную память.
Вся проблема в том, что скорость чтения-записи жесткого диска HDD (даже самого быстрого) В РАЗЫ меньше скорости оперативной памяти. Вот это и ведет к замедлению работы компьютера и снижению производительности в целом.
Здесь есть два способа решения этой проблемы: использовать большие объемы ОЗУ или правильно настроить работу системы с файлом подкачки и swap.
Итак, в Ubuntu есть такой параметр, который контролирует процент свободной памяти, при которой начнется сброс страниц памяти в swap — vm.swappiness.
В Ubuntu по умолчанию он имеет значение равное — 60. Это означает, что при 40% занятой оперативной памяти начнется активный сброс страниц памяти в раздел swap, т. е. 100% — 60% = 40%.
Проверить, каково значение параметра у вас, можно следующим образом.
Открываем терминал комбинацией клавиш Ctrl+Alt+T и выполняем команду:
cat /proc/sys/vm/swappiness
Ускоряем Ubuntu. Оптимизация работы подкачки (swap) в Ubuntu — Linux - glazdik.ru
Такое значение параметра может быть полезно только для компьютеров с малым количеством оперативной памяти  (512 -1024 МБ).
Если у вас современный компьютер или ноутбук с большим объемом ОЗУ (4-6, а то и 8 ГБ), то это вам вряд ли подойдет.
На многих форумах и блогах, посвященных Ubuntu рекомендуется выставить значение параметра  vm.swappiness = 10 (т. е. 100% — 10% = 90%).  Но, по моему личному опыту, при наличии оперативной памяти объемом в 6 ГБ можно повести себя и по-агрессивнее, выставив значение равным 0. В данном случае система будет обращаться к разделу swap только в крайнем случае.
Я рекомендую поэкспериментировать с данным параметром в текущем сеансе (после перезагрузки все вернется к значению по умолчанию), пока ничего не меняя в конфигурационных файлах системы, дабы найти самый оптимальный параметр. А здесь уже все индивидуально...
Сделать это можно так.
Опять же открываем всемогущий терминал  комбинацией клавишCtrl+Alt+T и выполняем в нем  следующую команду:
sudo sysctl vm.swappiness=
После знака равенства выставите значение от 100 до 0 (в зависимости от объема вашего ОЗУ).
После этого попробуйте «погрузить» свою систему: открыть несколько браузеров с большим числом вкладок, покопировать большие файлы на внешние носители (это, кстати, является больной стороной linux-систем — скорость копирования на внешние носители. Но об этом как-нибудь в следующий раз) и тому подобное.
После того, как вы подобрали для себя наиболее удачное значение, необходимо установить новое значение в качестве постоянного. Копируем и выполняем следующую команду в терминале:
sudo gedit /etc/sysctl.conf
Перед вами откроется конфигурационный файл в текстовом редактореgedit. В конце этого файла вставляем два следующих параметра без решетки перед ними:
vm.swappiness=0
vm.vfs_cache_pressure = 1000
Сохраняем файл. Он должен выглядеть, как на скриншоте внизу:Ускоряем Ubuntu. Оптимизация работы подкачки (swap) в Ubuntu — Linux - glazdik.ru
Перезагружаем компьютер. После перезагрузки выполняем в терминале:
sudo sysctl -p
Я, как уже было отмечено выше, выбрал параметр равным 0, фактически отключив раздел swap, т. к. для моего компьютера с шестью гигабайтами ОЗУ он оказался наиболее оптимальным. Вы можете выбрать значение параметра равным 10, как это рекомендовано на многочисленных форумах.
В качестве примера мне бы хотелось продемонстрировать загрузку оперативной памяти в Ubuntu 12.10 x64 с 6 ГБ ОЗУ.
Итак, я открыл три браузера — штатный Mazilla Firefox, Opera и Google Chrome с общим количеством вкладок около 40, аудиоплеер Clementine (кстати, довольно требовательный к ресурсам компьютера), Skype, торрент-клиент qBittorrent.
И вот скриншот htop (это довольно продвинутый консольный монитор процессов). Для установки набираем в терминале
sudo apt-get install htop
Ускоряем Ubuntu. Оптимизация работы подкачки (swap) в Ubuntu — Linux - glazdik.ru
Я думаю, что все становится понятно: занято менее половины установленной оперативной памяти.
Поэтому если у вас много ОЗУ, то использовать раздел подкачки не имеет никакого смысла. Это будет только замедлять скорость работы компьютера!

Файл подкачки: swap-файл и swap-раздел в Linux

Все мы знаем, что swap-файлы в Linux делаются просто и легко - настолько просто, что иногда забываем, как это делается. Прежде, чем что-то создавать, хорошо бы узнать, сколько swap-пространства у нас уже имеется в системе - для этого следует дать команду в консоли от рута:
# swapon -s
Результат будет в виде:

Filename Type Size Used Priority
/dev/hda1 partition 289128 0 -1

Описание вывода команды:

  • Filename описывает имеющиеся у вас своп-пространства и где они находятся.
  • Type указывает тип пространства: partition (раздел) или file(файл).
  • Size сообщает общий размер Swap-пространств.
  • Used говорит о том, сколько сейчас свопа задействовано.
  • Priority указан приоритет, т.е. какие пространства системе использовать вначале.
Тот же самый результат мы получим по команде cat /proc/swaps

Создание swap-файла в Linux
1. Открываем консоль\терминал и получаем полномочия root или используем sudo:

$ su
2. Думаем*, какой размер swap-файла нам нужен в мегабайтах. Подумавши, даём команду:
sudo dd if=/dev/zero of=/swapfile bs=1M count=500
или
# dd if=/dev/zero of=/swapfile bs=1M count=500
В команде dd для задания размеров можно использовать суффиксы K, M, G для килобайт, мегабайт и гигабайт соответственно. В данном примере это 500 Mегабайт файла подкачки.


* Многие задаются фундаментальными вопросами бытия вроде "каков рекомендуемый размер swap в linux"? Можно не думать, а просто создать SWAP-файл по размеру оперативной памяти, периодически посматривая на её, подкачки, использование с помощью команды top. При необходимости добавить\уменьшить своппинг системе. Можно использовать несколько файлов подкачки. 

3. Поясняем системе, что созданный пустой файл это всё-таки файл подкачки для Linux:

sudo mkswap /swapfile
или

# mkswap /swapfile

4. Подключаем созданный swap-файл:

sudo swapon /swapfile
или
# swapon /swapfile
При этом в выводе команды top или команды free должно появиться упоминание, что свопинга в системе поприбавилось. Чтобы отключить файл подкачки, пишем
sudo swapoff /swapfile
или
# swapoff /swapfile
Чтобы не подключать swap-файл или swap-раздел каждый раз, полезно занести запись в /etc/fstab следующего содержания:
/swapfile none swap sw 0 0
На всякий случай отмечу, что каждый раз создавать swap-файл не нужно: просто подключаете и отключаете его с помощью swapon/swapoff. Работа со swap-разделами в Linux происходит аналогичным образом.


Приоритет SWAP-файлов
Создавать и использовать swap-файлов в Linux можно любое количество. При этом можно указать приоритет подключаемого swap-файла или раздела (хотя ядро умеет самостоятельно распределять по разделам/файлам подкачки).

Например, высший приоритет для файла подкачки задаётся так:

swapon -p 1 /opt/swapfile
Приоритет является целым числом от 0 до 32767.


Очистка swap-пространства после ресурсоёмких приложений
Командой swapoff -a, запущенной от имени root, можно отключить использование всех разделов и файлов подкачки. После ввода команды содержимое свопа за несколько минут загружается обратно в оперативную память, а сам раздел подкачки отключается.
После загрузки содержимого свопа в оперативную память включем своп обратно командой swapon -a.


2. Системные настройки использования своппинга - Linux
За интенсивность обращения системы к swap-файлам и swap-разделам отвечает параметр swappiness, равный по умолчанию 60.Значение параметра может быть в пределах от 0 - наименьшее использование подкачки, до 100 - подкачка используется часто.

Насчёт оптимального значения параметра 
swappiness есть много разных мнений. Так, например, один из ведущих разработчиков ядра Эндрю Мортон считает, что для десктопа лучше ставить большое значение, чтобы всякое bloatware скинуть в своп и использовать оперативную память для чего-то нужного.

Чрезмерное значение здесь приведёт к интенсивному использованию swap-файла, что нежелательно. Слишком маленькое значение может привести к тому, что при заполнении памяти будет принудительно запущен OOMkiller (процесс, запускающийся при исчерпании памяти и убивающий наиболее ресурсоёмкие задачи).
Временно (до перезагрузки системы) изменить этот параметр можно с помощью команды:
echo 50 > /proc/sys/vm/swappiness
Чтобы изменить значение по умолчанию, необходимо изменить параметр vm.swappiness:
vm.swappiness=50
в файле /etc/sysctl.conf
Следует, впрочем, отметить, что со vm.swappiness сильно перегибать палку не стоит. При больших значениях система потеряет в отзывчивости (будет вытеснять память, с которой работают приложения, в своп, хотя оперативной памяти ещё много). При малых значениях система работает отзывчивей, но когда оперативная память заканчивается, система начинает активно свопиться и притормаживать.
Также можно попробовать увеличить\уменьшить объём потребляемой системой памяти за счёт изменения размеров дискового кеша. Уровень выделяемой под кеш памяти хранится в
/proc/sys/vm/vfs_cache_pressure
Значение по умолчанию: 100. Чтобы использовать меньше памяти под дисковые кеши (что вообще говоря не есть хорошая идея), ставим значение 50. Если, наоборот, хочется больше отзывчивости системы, увеличиваем размер кеша не скупясь:

echo 1000 > /proc/sys/vm/vfs_cache_pressure 
и далее продолжаем играться с параметрами вплоть до полного удовлетворения. Для того, чтобы настройки стали постоянными, заносим параметр
vm.vfs_cache_pressure = 1000
в файл /etc/sysctl.conf и со следующей загрузки дисковые кеши будут смачно чавкать вашей оперативной памятью.

суббота, 14 июня 2014 г.

Установить дизайнер Sweet Home 3D в Ubuntu 14.04

Sweet Home 3D - программа для моделирования 
дизайна интерьера, позволяет создать план 
помещения, квартиры, комнаты, расставить мебель, 
двери, окна, батареи, шторы и многое, многое другое. 
Вы можете изменять размеры объектов, вращать 
предметы, создавать стены под углом и т.д. Созданный план можно моментально 
просматривать в трехмерном виде, вращать, приближать.
12 июня 2014 года вышла новая версия программы Sweet Home 3D 4.4 (в Центре приложений 
Ubuntu версия Sweet Home 3D 4.3).




























Основными достоинствами программы являются:

• Кроссплатформенность. Sweet Home 3D может работать на компьютерах с операционными 
системами Windows, Linux, Mac OS и Solaris;
• Полная русификация;
• Легкое освоение и простота использования;
• Добавление расширений (plug-ins);
• Выгрузка (Экспорт) в OBJ формат;
• Импортирование 3DS файлов в Sweet Home 3D;
• Небольшой размер дистрибутива — всего около 34 Мбайт;
• Дополнительные 3D модели вы можете бесплатно скачать с официального сайта.

Установка Sweet Home 3D 4.4 в Ubuntu 14.04

1. На сайте представлен пакет ​​Sweet Home 3D 4.4 для Linux в комплекте с 
Oracle Java JRE 1.6. Скачать его можно по одной из следующих ссылок, согласно вашей 
системы (32 или 64-bit):

                    SweetHome3D-4.4 32-bit | SweetHome3D-4.4 64-bit

2. Далее откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующую команду чтобы 
перейти в папку /opt и распаковать в неё загруженный файл:

cd /opt/ && sudo tar -zxvf ~/Загрузки/SweetHome3D-4.4-linux-*.tgz

3. Теперь вы сможете запустить SweetHome3D следующей командой в терминале:

/opt/SweetHome3D-4.4/SweetHome3D

4. Для того чтобы не запускать SweetHome3D из терминала, необходимо создать значок 
запуска. Для этого откройте текстовый редактор с пустым файлом sweethome3d.desktop
следующей командой в терминале:

sudo gedit /usr/share/applications/sweethome3d-4.4.desktop

Когда откроется пустой файл sweethome3d.desktop, скопируйте и вставьте следующие 
строки выделенные синим цветом:

[Desktop Entry]
Version=1.0
Name=Sweet Home 3D 4.4
GenericName=Interior 2D design application with 3D preview
GenericName[de]=Innenraumplaner
Comment=Interior design Java application for quickly choosing and placing furniture on a 

house 2D plan drawn by the end-user with a 3D preview
Exec=/opt/SweetHome3D-4.4/SweetHome3D
Icon=sweethome3d
StartupNotify=true
StartupWMClass=com-eteks-sweethome3d-SweetHome3D
Terminal=false
Type=Application
Categories=Graphics;2DGraphics;3DGraphics;
Keywords=interior;design;2D;3D;home;house;furniture;java;

Сохраните файл Ctrl+S, и закройте редактор.

5. Программу SweetHome3D вы можете теперь запускать из меню Даш, но у неё нет "родного" 
или любого другого значка. Я предлагаю загрузить следующее изображение (логотип) 
программы и сохранить его в одной из папок:

6. Откройте папку значков запуска applications следующей командой в терминале с правами 
администратора:

sudo nautilus /usr/share/applications

Найдите значок программы SweetHome3D, правый клик на нём - Свойства - Основные, клик 
непосредственно на кнопке значка, найдите изображение, которое вы загрузили на 
предыдущем шаге, после чего оно должно отобразиться в кнопке значка:



















Вот и всё. Теперь откройте меню Даш и перетащите значок SweetHome3D 4.4 на панель Unity:













Источник: Sweet Home 3D 4.4

Удачи.

понедельник, 9 июня 2014 г.

Установить/обновить ядро Linux Kernel 3.15 (Stable) в Ubuntu/Linux Mint

После двух месяцев разработки Линус Торвальдс представил релиз ядра 
Linux 3.15. Отмечается, что выпуск 3.15является одним самых больших по 
размеру изменений за всю историю проекта.
В новую версию принято более 12 тысяч исправлений от 1400 
разработчиков, размер патча - 57 Мб. Около 44% всех представленных 
в 3.15 изменений связаны с драйверами устройств, примерно 18% 
изменений имеют отношение к обновлению кода специфичного для 
аппаратных архитектур, 12% связано с сетевым стеком, 4% - файловыми 
системами и 4% c внутренними подсистемами ядра.

Вы можете скачать соответствующие deb пакеты ОТСЮДА и установить их в Центре 
приложений Ubuntu. Или просто следуйте приведенным ниже инструкциям, которые помогут 
вам установить новое ядро несколькими командами в терминале.
Установить ядро версии командами ниже, можно ​​в следующих дистрибутивах Linux:

Ubuntu 14.04/13.10/12.04 
Linux Mint 17/16/13

Установка ядра Linux Kernel 3.15

1. Откройте терминал, скопируйте и выполните одну из команд, согласно архитектуры вашей 
системы/компьютера, на свой страх и риск:

Для 32-bit (одной командой):

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-utopic/linux-headers-
3.15.0-031500-generic_3.15.0-031500.201406081435_i386.deb http://kernel.ubuntu.com/~
kernel-ppa/mainline/v3.15-utopic/linux-headers-3.15.0-031500_3.15.0-
031500.201406081435_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-
utopic/linux-image-3.15.0-031500-generic_3.15.0-031500.201406081435_i386.deb && 
sudo dpkg -i *.deb

Для 64-bit (одной командой): 

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-utopic/linux-headers-
3.15.0-031500-generic_3.15.0-031500.201406081435_amd64.deb http://kernel.ubuntu.com/~
kernel-ppa/mainline/v3.15-utopic/linux-headers-3.15.0-031500_3.15.0-
031500.201406081435_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-
utopic/linux-image-3.15.0-031500-generic_3.15.0-031500.201406081435_amd64.deb && 
sudo dpkg -i *.deb

2. Обновите GRUB (GRUB надо обновлять в той системе Linux где он установлен, если у вас их 
более одной):

sudo update-grub

Примечание 1
. Если у вас установлен загрузчик BURG, то и его нужно обновить:

sudo update-burg

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

sudo reboot

После входа в систему, проверьте версию актуального ядра командой:

uname -r











Примечание 2
. Если вы раньше устанавливали программу KernelUpdate, откройте её из 
Меню - Системные утилиты или перезагрузите свой компьютер и при новом входе в систему 
вы должны увидеть открытое окно xterm с извещением о новом ядре 3.15, при условии если вы 
прописывали KernelUpdate в Автоматически запускаемые приложения.
Нажмите клавишу Enter и следуйте инструкциям по установке ядра 3.15.

Примечание 3
. Как вернуться к ранее установленному ядру, инструкция ЗДЕСЬ.

Если вы решили удалить ядро 3.15, выполните эту команду:

sudo apt-get purge linux-image-3.15-*

Источник: https://www.kernel.org/

Удачи.

воскресенье, 8 июня 2014 г.

Установить/обновить ядро Linux Kernel 3.14.6 (Stable) в Ubuntu/Linux Mint

Linux Kernel 3.14.6 является шестым корректировочным выпуском ядра 
версии 3.14. Вы можете скачать соответствующие deb пакеты ОТСЮДА 
и установить их в Центре приложений Ubuntu. Или просто следуйте 
приведенным ниже инструкциям, которые помогут вам установить новое 
ядро несколькими командами в терминале.
Установить ядро версии командами ниже, можно ​​в следующих 
дистрибутивах Linux:

Ubuntu 14.04/13.10/12.04 
Linux Mint 17/16/13

Установка ядра Linux Kernel 3.14.6

1. Откройте терминал, скопируйте и выполните одну из команд, согласно архитектуры вашей 
системы/компьютера, на свой страх и риск:

Для 32-bit (одной командой):

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.6-utopic/
linux-headers-3.14.6-031406-generic_3.14.6-031406.201406071635_i386.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.6-utopic/
linux-headers-3.14.6-031406_3.14.6-031406.201406071635_all.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.6-utopic/
linux-image-3.14.6-031406-generic_3.14.6-031406.201406071635_i386.deb && 
sudo dpkg -i *.deb

Для 64-bit (одной командой): 

cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.6-utopic/
linux-headers-3.14.6-031406-generic_3.14.6-031406.201406071635_amd64.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.6-utopic/
linux-headers-3.14.6-031406_3.14.6-031406.201406071635_all.deb 
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.14.6-utopic/
linux-image-3.14.6-031406-generic_3.14.6-031406.201406071635_amd64.deb && 
sudo dpkg -i *.deb

2. Обновите GRUB (GRUB надо обновлять в той системе Linux где он установлен, если у вас 
их более одной):

sudo update-grub

Примечание 1
. Если у вас установлен загрузчик BURG, то и его нужно обновить:

sudo update-burg

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

sudo reboot

После входа в систему, проверьте версию актуального ядра командой:

uname -r

Примечание 2. Если вы раньше устанавливали программу KernelUpdate, откройте её из 
Меню - Системные утилиты или перезагрузите свой компьютер и при новом входе в систему 
вы должны увидеть открытое окно xterm с извещением о новом ядре 3.14.6, при условии если вы прописывали KernelUpdate в Автоматически запускаемые приложения.
Нажмите клавишу Enter и следуйте инструкциям по установке ядра 3.14.6.

Примечание 3
. Как вернуться к ранее установленному ядру, инструкция ЗДЕСЬ.

Если вы решили удалить ядро 3.14.6, выполните эту команду:

sudo apt-get purge linux-image-3.14.6-*

Источник: https://www.kernel.org/

Удачи.