• Новости и статьи

Ускоряем Ubuntu уменьшая количество используемой памяти

Ускоряем Ubuntu Linux отключая ненужные службы и плагины

Если сейчас сравнить новые версии десктоп дистрибутива Ubuntu например с версией 14.04, вы должны были бы увидеть, что дистрибутивы Linux стали более «прожорливыми», да новые версии получили проблему в виде Unity которая жрет оперативку как слон и если у вас оперативной памяти меньше 2гб, будет не сладко. В сегодняшнем материале мы обсудим несколько способов более оптимального решения возникшей проблемы которые бы позволили уменьшить апетиты в использовании оперативной памяти. Первый, конечно же - это выбор легкого дистрибутива (Xubuntu или же Lubuntu и прочих). Второй способ, в данном случае мы постараемся уменьшить потребления памяти без ограничения в функциональности работы дистрибутива, для опытов мы выбрали Ubuntu 16.04 LTS.

Введение

Если вы только установили систему на компьютер который имеет два гигабайта ОЗУ, после первого запуска система будет кушать не меньше 1 Гб памяти. Вроде и не критично, но очень много, если взять хотя-бы в сравнение более маленький дистрибутив и сравнить потребление памяти. А если и запустить браузер например с 5-6 вкладками, то ваши 2 ГБ быстро израсходуются и вы увидите первые косяки в производительности прочие зависания браузера итд. 

Рассмотрим что нам нужно в функциональности, а что нет.

  • Прежде всего список демонов которые загружаются по умолчанию. Разработчики Ubuntu, попытались сделать минимум, но в нашей ситуации стоит обратить внимание на то, что в зависимости от степени использования дистрибутива, много функционала может быть вовсе лишним, что в итоге может быть отключено и не будет кушать оперативную память.
  • Так же стоит обратить внимание на приложения которые вы не используете. Разное ПО использует плагины, которые реализуются в большей части случаев в виде загружаемых библиотек. В данной ситуации не лишней будет тонкая настройка и отключение ненужного. Стоит вспомнить и о графической подсистеме компоненты которой не всем нужны отключив которые можно немного высвободить оперативной памяти.
Обратите внимание, автор материала не несет ответственно за ваши действия если вы отключите что-то важное и у вас полетит система. Все манипуляции, вы выполняете на свой страх и риск принимая то или иное решение для отключения служб и плагинов.

Отключаем лишние службы / сервисы 

В Ubuntu 16.04 используется systemd, чтобы посмотреть ПО которое запускается во время начальной загрузки, мы можем использовать следующую команду:
sudo systemctl list-units --type service

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

Список загpужаемых сервисов systemd

Список загружаемых сервисов systemd

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

sudo systemctl disable apparmor.service

Apport - это служба которая предназначена для отправления отчетов об ошибках в Canonical. Да, вроде и полезный инструмент, но представьте ситуацию, у вас мобильный 3G интернет и это окно об ошибках постоянно маячит перед глазами, в данной ситуации имеет смысл отключить данную службу, иногда это окно уж очень слишком часто вылазит когда его не ждешь, я лично отключил сразу же после установки так как иногда оно просто выводит своими появлениями когда его не ждешь. Отключать ли вам, вы должны сами решить для себя. Для отключения набираем команду:

sudo systemctl disable apport.service

Avahi - это демон который предназначен для обнаружения служб / компьютеров в домене .local. Вроде и удобная штука, но на практике, если у вас есть пара компьютеров в локальной сети, смысла держать этот демон активным нет, мoжете смело отключить:

sudo systemctl disable avahi-daemon.service

CGManager предназначен для управления cgroup позволяя непривилегированным пользователям получать доступ к cgroup и предотвращая выход из текущего cgroup в родительский не исключение и привилегированные приложения. Если трезво мыслить, он может пригодиться лишь при создании вложенных контейнеров LXC, если вы их не используете и не пользуетесь песочницей, в которой все это может пригодиться для запуска программ, смело отключайте:

sudo systemctl disable cgmanager.service

Colord используется для управления цветовыми профилями, позволяет отображать идентичные цвета как на экране компьютера так и на принтере. Если вам это не нужно и вы не планируете управлять цвeтами, у вас нет монохромного принтера или вовсе нет никакого принтера, отключайте не раздумывая:

sudo systemctl disable colord.service

ModemManager - это интерфейс, позволяющий реализовать подключение к сети интернет используя мoдемы, каналы связи (2G/3G/4G/CDMA), способы соединения (RS232, USB, Bluetooth) и методoв управления (AT, QCDM, QMI, MBIM). Если у вас кабельный интернет и вы не планируете использовать модем, отключайте:

sudo systemctl disable ModemManager.service

Speech Dispatcher - это унифицированный API, который имеет предназначение для изменения порядка вызова синтезатора, так же позволяет предотвратить наложения звука при использовании нескольких приложений и воспроизведении в них звука одновременно. Если вы не планируете использовать синтезаторы речи, отключайте:

sudo systemctl disable speech-dispatcher.service

Whoopsie - эта служба имеет те же корни что и Apport, если вы ее отключили, так же стоит и поступить с Whoopsie. Прежде всего откройте конфиг  /etc/default/whoopsie здесь нам нужно изменить значение в параметре report_crashes замени true на false, сохраняем и после отключаем службу:

sudo systemctl disable whoopsie.service

Отключение компонентов программ и графической подсистемы

Если отключить графическую подсистему, то ваша Ubuntu будет использовать на 40%. Первое, о чем стоит вспомнить и что может существенно облегчить работу в ubuntu, это отключение онлайн-поиска, который в большей части никому не нужен вовсе. Чтобы отключить вы можете перейти в «Параметры системы -> Защита и приватность -> Поиск» и переключить «Отображать результаты поиска в интернете». Или же воспользоваться консольным способом и выполнить в терминале следующую команду:

gsettings set com.canonical.Unity.Lenses remote-content-search none

Стоит вспомнить и о композитном менеджере Compiz, который имеет апетит как у слона и кушает вашу память сильнее, чем все остальные процессы. Чтобы умерить его апетиты, вам потребуется установить CompizConfig Settings Manager(после установки запустить):

sudo apt-get install compizconfig-settings-manager
ccsm

В появившемся окне будет список плагинов. Посмотрим, что и при каких условиях можно отключить.

  • «Команды», если вы для комбинаций клавиш не задаете никаких команд, можете смело отключать; в Unity он не используется и никаких побочных последствий не вызовет если отключить.
  • Enhanced Zoom Desktop - это подобия «Экранной лупы». Если вам не нужно подобное ПО, отключайте.
  • Desktop Wall - это всем известный куб Compiz в 2D. Если вы не планируете использовать куб, отключайте.
  • Viewport Switcher - этот плагин, предназначен для переключения рабочих столов. Он так же создает нагрузки и если для вас он не нужен, отключайте.
  • В группе «Эффекты» можно отключить плагин: Animations и «Проявление/исчезание окон». Я в данном разделе вовсе все отключил и работаю без анимаций и без лишних красот так как в этом нет необходимости.
  • Session Management - предназначен для сохранения/восстановления положений и размера окон в сессии в промежутках между входом/выходом пользователя). Если вам это не нужно, отключайте как и я поступил.
  • При отключении лишних мусорных плагинов лучше всего перейти в вкладку "Все" и отключать ненужно лишь листая вверх или вниз где все будет под рукой.

Отключение плагинов Compiz с помощью ccsm

Отключаем Compiz плагины через ccsm

Возьмем к примеру приложение Network Manager. В списке плагинов данного приложения имеется ofono, в том случае если вы не используете мобильные соединения не пользуетесь модемами и у вас лишь кабельный интернет, можете смело отключать если вы не планируете пользоваться модемами. Чтобы отключить, в терминале выполните команду sudo gedit /etc/NetworkManager/NetworkManager.conf в строчке Plugin удалите ,ofono и сохраните изменения.

Плагины Network Manager

Рассмотрим более пристально плагины Network Manager

При запуске рабочего стола ubuntu, запускается много плагинов, о которых пользователь даже и не догадывается или не знает для чего они нужны, как он мог бы о них узнать если они в графическом интеpфейсе нигде не отображаются. Да, некоторые из них нужны, но не все и ниже мы обсудим те от которых можно избавиться.

Для отключения нужно сделать следующее, перейти в каталoг /etc/xdg/autostart:

cd /etc/xdg/autostart
sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' onboard-autostart.desktop 

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

sudo sed --in-place 's/NoDisplay=false/NoDisplay=true/g' onboard-autostart.desktop

Посмотрим, что можно отключить:

  • Если вы не пользуетесь GPG, то gnome-keyring-gpg можете отключать, все равно системные утилиты будут напрямую обращаться к связке ключей.
  • Indicator-bluetooth, если вы не используете и не планируете использование Bluetooth, отключайте.
  • Indicator-messages предназначен для отображение входящих сообщений в почтовых клиентах, если не пользуетесь почтовыми клиентами, можете отключать, если пользуетесь, соответственно не отключать.
  • Indicator-printers - отображает подключение принтеры, если у вас нет принтера, отключайте.
  • Onboard-autostart - предназначен для запуска экранной клавиатуры, если не используете, отключайте, я отключил не раздумывая так как не пользуюсь ей и не планирую.
  • Orca-autostart - это экранная лупа, тот же мусор что и клавиатура, если у вас зрение хорошее, отключайте.
  • Print-applet - плагин который отображает задания на печать, как я писал выше к indicator-printers, если нет принтера, отключайте.
  • Telepathy-indicator - плагин который отображает уведомления от этого клиента, если вы им не пользуетесь, отключайте.
  • Update-notifier - плагин для уведомлений об обновлениях. Если вам не лень самому запустить процесс обновления, можете отключать.
  • Zeitgeist-datahub - плагин который имеет роль коллектора который запускает разные собиратели информации по технологии Zeitgeist. Эта технология регистрирует активного пользователя в целях восстановления хронологии событий. Да, стоит напомнить, что эта технология очень хорошо связана с Unity, чтобы ее отключить придется выполнить дополнительные манипуляции.

В первую очередь нужно закрыть доступ записи в файл БД для процесса zeitgeist-daemon, откройте терминал CTRL+ALT+T и выполним следующую команду:

 chmod -rw ~/.local/share/zeitgeist/activity.sqlite

Проверим, что этот процесс туда писать не может:

zeitgeist-daemon --replace

Если вы выполнили все правильно, после выполнения команды выше, он должен поругается, что нет доступа к файлу БД, после можно отключать плагин.

Используем zRam для увеличения памяти

Используя zRam, мы можем немного пожертвовать в производительности для увеличения количества памяти. Как работает zRam, создается сжатое блочное устройство в вашей памяти и в последующем размещает на нем своп. В результате за счет сжатия мы получаем экономию памяти в два раза.

Для активации zRam, вам нужно установить следующие пакет:

 sudo apt-get install zram-config

после перезагрузиться. После чтобы проверить, посмотрите список ваших разделов подкачки:

 sudo swapon -s

Если все хорошо прошло, у вас на устройстве /dev/zram0 появится своп. По дефолту создается по одному на каждый процессор.

Вывод

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

В дополнение еще несколько советов, если вы хотите иметь легкую в работе систему, установите другие более легкие окружения рабочего стола не используя Unity, количество доступных окружений достаточное для выбора, я надеюсь вы подумаете над этим и выберите для себя более оптимальное и легкое.

Если у вас два гигабайта оперативной памяти, вместо нагрузочных приложений, например взяв офисный пакет LibreOffice Writer, вы можете заменить на более легкий AbiWord, вместо системного браузера который предустановлен по умолчанию Firefox, выберите более легкий, например Midori.

ТОП-5 лучших приложений для записи экрана монитора

Может быть очень много причин, когда вам нужно записать свой экран. Когда я начал использовать Linux, я использовал приложения для записи своего экрана, когда у меня были какие-то проблемы, и загружал видео на различные форумы и Linux-сообщества.

Сегодня я иногда записываю видео с экрана моего монитора для демонстрационных целей, для моих видео обзоров. Кроме того, и вы можете записать свой экран в Linux. И в этой статье я хочу упомянуть 5 лучших приложений для записи видео с экрана в Linux. Так что давайте начнем!

Simple Screen Recorder

Simple Screen Recorder это очень простой инструмент, с помощью которого вы можете делать запись экрана. Это приложение работает сразу же после установки прямо из коробки, так что вы можете начать использовать его без необходимости возиться с ним. Он также имеет некоторые очень хорошие возможности, настройки и функции. Вы можете приостановить, а потом возобновить запись. Он также позволяет записывать весь экран или только часть, и может записывать непосредственно с OpenGL приложений.

Установить Simple Screen Recorder в Ubuntu/Linux mint и др.

Можно следующими командами в терминале

sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get install simplescreenrecorder

Если вы хотите записать 32-битные OpenGL приложения на 64-битной системе то введите следующую команду

sudo apt-get install simplescreenrecorder-lib:i386

Kazam Screencaster

Kazam это еще один очень полезный инструмент для скринкастинга и скриншотов. Он очень популярен благодаря своей универсальности. Вы можете записывать весь экран или только часть, с легкостью можете записать аудио из ваших динамиков или же записать свой голос из микрофона. Функции, которые он поставляет включают в себя вывод записанного видео в удобном формате для экспорта непосредственно на YouTube.

Установить Kazam Screencaster

Для установки Kazam откройте терминал и воспользуйтесь следующими командами

sudo apt-get update
sudo apt-get install kazam

RecordMyDesktop

RecordMyDesktop — бесплатная утилита с открытым исходным кодом для записи скринкастов. Используется для записи действий пользователя. Результат сохраняется в формате Ogv. Единственный минус это отсутствие поддержки веб-камеры.

Установить RecordMyDesktop

Чтобы установить эту утилиту введите в терминале

sudo apt-get update
sudo apt-get install gtk-recordmydesktop

ScreenStudio

ScreenStudio позволяет записывать видео высокой четкости. Он также поддерживает наложение текста и есть поддержка веб-камеры. Вы можете записать в любом из форматов, FLV или MP4, и изменить качество и размер выходных данных. Есть и другие обширные настройки, которые также доступны. Вы определенно должны попробовать ScreenStudio.

Установить ScreenStudio

Можно следующими командами

sudo add-apt-repository ppa:soylent-tv/screenstudio
sudo apt update
sudo apt install screenstudio

Shutter

Shutter это очень хороший вариант для рассмотрения, при поиске инструмента для записи экрана в Linux. С Shutter, вы можете редактировать изображения, которые вы захватили без использования другого инструмента. Вы можете захватить весь экран или только часть. Утилита довольно проста в использовании и позволяет поделиться своими творениями очень легко, и без каких-либо лишних телодвижений.

Установить Shutter в Ubuntu/Linux mint и подобные

Откройте терминал (Ctrl+Alt+T), и введите следующие команды

sudo add-apt-repository -y ppa:shutter/ppa
sudo apt-get update
sudo apt-get install shutter

Вот мы и посмотрели, лучшие утилиты для записи видео с экрана вашего монитора.

А какой вы пользуетесь утилитой для записи с экрана? Напишите в комментариях.

Сравнение MySQL и PostgreSQL

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

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

Системы управления базами данных

Базы данных предназначены для структурированного хранения и быстрого доступа к различным данным. Каждая база данных, кроме самих данных, должна иметь определенную модель работы, по которой будет выполняться обработка данных. Для управления базами данных используются СУБД или системы управления базами данных, именно к таким программам относятся MySQL и Postgresql.

Реляционные системы управления базами данных позволяют размещать данные в таблицах, связывая строки из разных таблиц и, таким образом, связывая разные, объединенные логически данные. Перед тем, как вы сможете сохранять данные, необходимо создать таблицы определенного размера и указать тип данных для каждого столбца. Столбы представляют поля данных, а сами данные размещены в строках. Обе системы управления базами данных, и MySQL vs Postgresql принадлежат к реляционным. Дальше мы рассмотрим подробнее чем отличаются обе программы. А теперь перейдем к более детальному рассмотрению.

Краткая история

MySQL

Разработка MySQL началась еще в 90х годах. Первый внутренний выпуск базы данных состоялся в 1995 году. За это время разработкой программы занимались несколько компаний. Разработка была начата шведской компанией MySQL AB, которую приобрела Sun Microsystems, которая, собственно перешла в собственность Oracle. На данный момент, начиная с 2010 года, разработкой занимается Oracle.

Postgresql

Разработка Postrgresql началась в далеком 1986 году в стенах Калифорнийского университета Беркли. Разработка длилась почти восемь лет, затем проект разделился на две части коммерческую базу данных IIlustra и полностью свободный проект Postrgesql, который разрабатывается энтузиастами.

Хранение данных

MySQL

MySQL - это реляционная база данных, для хранения данных в таблицах используются различные движки, но работа с движками спрятана в самой системе. На синтаксис запросов и их выполнение движок не влияет. Поддерживаются такие основные движки MyISAM, InnoDB, MEMORY, Berkeley DB. Они отличаются между собой способом записи данных на диск, а также методами считывания.

Postgresql

Postgresql представляет из себя объектно реляционную базу данных, которая работает только на одном движке - storage engine. Все таблицы представлены в виде объектов, они могут наследоваться, а все действия с таблицами выполняются с помощью объективно ориентированных функций. Как и в MySQL все данные хранятся на диске, в специально отсортированных файлах, но структура этих файлов и записей в них очень сильно отличается.

Стандарт SQL

Независимо от используемой системы управления базами данных, SQL - это стандартизированный язык выполнения запросов. И он поддерживается всеми решениями, даже MySQL или Postgresql. Стандарт SQL был разработан в 1986 году и за это время уже вышло нескольких версий.

MySQL

MySQL поддерживает далеко не все новые возможности стандарта SQL. Разработчики выбрали именно этот путь развития, чтобы сохранить MySQL простым для использования. Компания пытается соответствовать стандартам, но не в ущерб простоте. Если какая-то возможность может улучшить удобство, то разработчики могут реализовать ее в виде своего расширения не обращая внимания на стандарт.

Postgresql

Postgresql - это проект с открытым исходным кодом, он разрабатывается командой энтузиастов, и разработчики пытаются максимально соответствовать стандарту SQL и реализуют все самые новые стандарты. Но все это приводит к ущербу простоты. Postgresql очень сложный и из-за этого он не настолько популярен как MySQL.

Возможности обработки

Из предыдущего пункта выплывают и другие отличия postgresql от mysql, это возможности обработки данных и ограничения. Естественно, соответствие более новым стандартам дает более новые возможности.

MySQL

При выполнении запроса MySQL загружает весь ответ сервера в память клиента, при больших объемах данных это может быть не совсем удобно. В основном по функциям Postgresql превосходит Mysql, дальше рассмотрим в каких именно.

Postgresql

Postgresql поддерживает использование курсоров для перемещения по полученным данным. Вы получаете только указатель, весь ответ хранится в памяти сервера баз данных. Этот указатель можно сохранять между сеансами. Здесь поддерживается построение индексов сразу для нескольких столбцов таблицы. Кроме того, индексы могут быть различных типов, кроме hash и b-tree доступны GiST и SP-GiST для работы с городами, GIN для поиска по тексту, BRIN и Bloom.

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

 Производительность

Базы данных должны обязательно быть оптимизированы для окружения, в котором вы будете работать. Исторически так сложилось что MySQL ориентировалась на максимальную производительность, а Postgresql разрабатывалась как база данных с большим количеством настроек и максимально соответствующую стандарту. Но со временем Postgresql получил много улучшений и оптимизаций.

MySQL

В большинстве случаев для организации работы с базой данных в MySQL используется таблица InnoDB, эта таблица представляет из себя B-дерево с индексами. Индексы позволяют очень быстро получить данные из диска, и для этого будет нужно меньше дисковых операций. Но сканирование дерева требует нахождения двух индексов, а это уже медленно. Все это значит что MySQL будет быстрее Postgresql только при использовании первичного ключа.

Postgresql

Вся заголовочная информация таблиц Postgresql находится в оперативной памяти. Вы не можете создать таблицу, которая будет не в памяти. Записи таблицы сортируются по индексу, а поэтому вы можете их очень быстро извлечь. Для большего удобства вы можете применять несколько индексов к одной таблице.

В целом PostgreSQL работает быстрее, за исключениям использования первичных ключей. Давайте рассмотрим несколько тестов с различными операциями:

Типы данных

Один из основных моментов обоих баз данных это поддерживаемые типы данных, которые вы можете использовать. Поскольку оба решения пытаются соответствовать синтаксису SQL, то они имеют похожие наборы, но все же кое-чем отличаются.

MySQL

MySQL поддерживает такие типы данных:

  • TINYINT: очень маленькое целое.;
  • SMALLINT: маленькое целое;
  • MEDIUMINT: целое среднего размера;
  • INT: целое нормального размера;
  • BIGINT: большое целое;
  • FLOAT: знаковое число с плавающей запятой одинарной точности;
  • DOUBLE, DOUBLE PRECISION, REAL: знаковое число с плавающей запятой двойной точности
  • DECIMAL, NUMERIC: знаковое число с плавающей запятой;
  • DATE: дата;
    DATETIME: комбинация даты и времени;
  • TIMESTAMP: отметка времени;
  • TIME: время;
    YEAR: год в формате YY или YYYY;
  • CHAR: строка фиксированного размера, дополняемая справа пробелами до максимальной длины;
  • VARCHAR: строка переменной длины;
  • TINYBLOB, TINYTEXT: двоичные или текстовые данные максимальной длиной 255 символов;
  • BLOB, TEXT: двоичные или текстовые данные максимальной длиной 65535 символов;
  • MEDIUMBLOB, MEDIUMTEXT: текст или двоичные данные;
  • LONGBLOB, LONGTEXT: текст или двоичные максимальной данные длиной 4294967295 символов;
  • ENUM: перечисление;
  • SET: множества.

Postgresql

Поддерживаемые типы полей в Postgresql достаточно сильно отличаются, но позволяют записывать точно те же данные:

  • bigint: знаковое 8-байтовое целое;
  • bigserial: автоматически увеличиваемое 8-байтовое целое;
  • bit: двоичная строка фиксированной длины;
  • bit varying: двоичная строка переменной длины;
  • boolean: флаг;
  • box: прямоугольник на плоскости;
  • byte: бинарные данные;
  • character varying: строка символов фиксированной длины;
  • character: строка символов переменной длины;
  • cidr: сетевой адрес IPv4 или IPv6;
  • circle: круг на плоскости;
  • date: дата в календаре;
  • double precision: число с плавающей запятой двойной точности;
  • inet: адрес интернет IPv4 или IPv6;
  • integer: знаковое 4-байтное целое число;
  • interval: временной промежуток;
  • line: бесконечная прямая на плоскости;
  • lseg: отрезок на плоскости;
  • macaddr: MAC-адрес;
  • money: денежная величина;
  • path: геометрический путь на плоскости;
  • point: геометрическая точка на плоскости;
  • polygon: многоугольник на плоскости;
  • real: число с плавающей точкой одинарной точности;
  • smallint: двухбайтовое целое число;
  • serial: автоматически увеличиваемое четырехбитное целое число;
  • text: строка символов переменной длины;
  • time: время суток;
  • timestamp: дата и время;
  • tsquery: запрос текстового поиска;
  • tsvector: документ текстового поиска;
  • uuid: уникальный идентификатор;
  • xml: XML-данные.

Как видите, типов данных в Postgresql больше и они более разнообразны, есть свои типы полей для определенных видов данных, которых нет MySQL. Отличие MySQL от Postgresql очевидно.

Разработка

Оба проекта имеют открытый исходный код, но развиваются по-разному. Развитие MySQL нравится далеко не всем. И в этом сравнение mysql и postgresql дает много отличий.

MySQL

База данных MySQL разрабатывается компанией Oracle и ходят слухи, что компания намерено тормозит развитие движка. Было создано очень много форков проекта, в том числе форк MariaDB от разработчика оригинальной MySQL. Но все же развитие остается медленным.

Postgresql

Как было сказано в начале статьи разработка началась в университете Беркли. Затем перешла в коммерческую компанию. Сейчас программа разрабатывается независимой группой программистов и советом нескольких компаний. Новые версии выпускаются достаточно активно и получают все новые и новые функции.

Источник: losst.ru

Сравнение файлов в Linux

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

В этой статье мы рассмотрим как выполняется сравнение файлов Linux. Разберем самые полезные способы, как для терминала, так и в графическом режиме. Сначала рассмотрим как выполнять сравнение файла linux с помощью утилиты diff.

  • Сравнение файлов diff

    Утилита diff linux - это программа, которая работает в консольном режиме. Ее синтаксис очень прост. Вызовите утилиту, передайте нужные файлы, а также задайте опции, если это необходимо:

    $ diff опции файл1 файл2

    Можно передать больше двух файлов, если это нужно. Перед тем как перейти к примерам, давайте рассмотрим опции утилиты:

    • -q - выводить только отличия файлов;
    • -s - выводить только совпадающие части;
    • - выводить нужное количество строк после совпадений;
    • -u - выводить только нужное количество строк после отличий;
    • -y - выводить в две колонки;
    • -e - вывод в формате ed скрипта;
    • -n - вывод в формате RCS;
    • -a - сравнивать файлы как текстовые, даже если они не текстовые;
    • -t - заменить табуляции на пробелы в выводе;
    • -l - разделить на страницы и добавить поддержку листания;
    • -r - рекурсивное сравнение папок;
    • -i - игнорировать регистр;
    • -E - игнорировать изменения в табуляциях;
    • -Z - не учитывать пробелы в конце строки;
    • -b - не учитывать пробелы;
    • -B - не учитывать пустые строки.

    Это были основные опции утилиты, теперь давайте рассмотрим как сравнить файлы Linux. В выводе утилиты кроме, непосредственно, отображения изменений, выводит строку в которой указывается в какой строчке и что было сделано. Для этого используются такие символы:

    • a - добавлена;
    • d - удалена;
    • c - изменена.

    К тому же, линии, которые отличаются, будут обозначаться символом <, а те, которые совпадают - символом >.

    Вот содержимое наших тестовых файлов:

    Теперь давайте выполним сравнение файлов diff:
    $ diff file1 file2

    В результате мы получим строчку: 2,3c2,4. Она означает, что строки 2 и 3 были изменены. Вы можете использовать опции для игнорирования регистра:
    $ diff -i file1 file2

    Можно сделать вывод в две колонки:
    $ diff -y file1 file2

    А с помощью опции -u вы можете создать патч, который потом может быть наложен на такой же файл другим пользователем:
    $ diff -u file1 file2

    Чтобы обработать несколько файлов в папке удобно использовать опцию -r:
    $ diff -r ~/tmp1 ~/tmp2

    Для удобства, вы можете перенаправить вывод утилиты сразу в файл:
    $ diff -u file1 file2 > file.patch

    Как видите, все очень просто. Но не очень удобно. Более приятно использовать графические инструменты.

    Сравнение файлов Linux с помощью GUI

    Существует несколько отличных инструментов для сравнения файлов в linux в графическом интерфейсе. Вы без труда разберетесь как их использовать. Давайте рассмотрим несколько из них:

    1. Kompare

    Kompare - это графическая утилита для работы с diff, которая позволяет находить отличия в файлах, а также объединять их. Написана на Qt и рассчитана в первую очередь на KDE. Вот ее основные особенности:
  • Поддержка нескольких форматов diff;
  • Поддержка сравнение файла linux и каталогов;
  • Поддержка просмотра файлов diff;
  • Настраиваемый интерфейс;
  • Создание и применение патчей к файлам.

2. DiffMerge

DiffMerge - это кроссплатформенная программ для сравнения и объединения файлов. Позволяет сравнивать два или три файла. Поддерживается редактирование строк на лету.

Особенности:

  • Поддержка сравнения каталогов;
  • Интеграция с просмотрщиком файлов;
  • Настраиваемая.

3. Meld

Это легкий инструмент для сравнения и объединения файлов. Он позволяет сравнивать файлы, каталоги, а также выполнять функции системы контроля версий. Программа создана для разработчиков и имеет такие особенности:

  • Сравнение двух и трех файлов;
  • Использование пользовательских типов и слов;
  • Режим автоматического слияния и действия с боками текста;
  • Поддержка Git, Mercurial, Subversion, Bazar и многое другое.

4. Diffuse

Diffuse - еще один популярный и достаточно простой инструмент для сравнения и слияния файлов. Он написан на Python. Поддерживается две основные возможности - сравнение файлов и управление версиями. Вы можете редактировать файлы прямо во время просмотра. Основные функции:

  • Подсветка синтаксиса;
  • Сочетания клавиш для удобной навигации;
  • Поддержка неограниченного числа отмен;
  • Поддержка Unicode;
  • Поддержка Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK и Monotone.

5. XXdiff

XXdiff - это свободный и очень мощный инструмент для сравнения и слияния файлов. Но у программы есть несколько минусов. Это отсутствие поддержки Unicode и редактирования файлов.

Особенности:

  • Поверхностное или рекурсивное сравнение одного или двух файлов и каталогов;
  • Подсветка отличий;
  • Интерактивное объединение;
  • Поддержка внешних инструментов сравнения, такие как GNU Diff, SIG Diff, Cleareddiff и многое другое;
  • Расширяемость с помощью сценариев;
  • Настраиваемость.

6. KDiff3

KDiff3 - еще один отличный, свободный инструмент для сравнения файлов в окружении рабочего стола KDE. Он входит в набор программ KDevelop и работает на всех платформах, включая Windows и MacOS. Можно выполнить сравнение двух файлов linux для двух или трех, или даже сравнить каталоги. Вот основные особенности:

  • Отображение различий построчно и посимвольно;
  • Поддержка автослияния;
  • Обработка конфликтов при слиянии;
  • Поддержка Unicode;
  • Отображение отличий;
  • Поддержка ручного выравнивания.

Источник: losst.ru

Сравнение систем мониторинга: Shinken vs Sensu vs Icinga 2 vs Zabbix

Shinken

Согласно официальному сайту, Shinken — фреймворк мониторинга; переписанный с нуля на питоне Nagios Core, с улучшенной поддержкой больших окружений и более гибкий.

Масштабируемость

Согласно документации, каждый тип используемых процессов может запускаться на отдельном хосте. Это очень полезная возможность, поскольку вы можете захотеть иметь базу данных в самом дешёвом месте, процессы сбора информации в каждом датацентре, и процессы рассылки уведомлений ближе к своему физическому расположению. Пользователь Shinken на схеме счастлив, это точно является хорошим признаком:

Shinken simple distributed architecture

Эта система также имеет готовую конфигурацию для межрегионального мониторинга, называемая Realms (Сферы).

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

Shinken simple multi-regional distributed architecture

Ещё одной болевой точкой при оценке масштабируемости является отказоустойчивость. Эту информацию я процитирую из документации:

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

Интеграция с системами управления конфигурацией

Автоматическое нахождение хостов и сервисов хорошо покрывается документацией, и, поскольку конфигурация хранится в файлах, вы довольно просто можете генерировать её с помощью Chef\Puppet, основываясь на информации, уже имеющейся в системе конфигурации (например, PuppetDB).

Логирование действий

Поскольку конфигурация хранится в файлах, вы можете использовать имеющиеся инструменты типа системы контроля версий (Git, Mercurial) для отслеживания изменений и их владельцев. В документации я не нашёл никаких подтверждений того, что Shinken записывает куда-либо действия пользователя в веб-интерфейсе.

UI

Shinken UI


Shinken WebUI по заверениям использующих его людей хорошо показал себя при работе с тысячами машин и десятками групп.

Недостатки

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

Frédéric Mohier, бывший когда-то в команде разработки Shinken любезно предоставил информацию по этому вопросу: больше года назад несколько разработчиков из команды, будучи несогласными с политикой разработки, покинуло проект и сделало форк, названный Alignak, в данный момент активно разрабатываемый, первый стабильный релиз (1.0) планируется на декабрь 2016.

Ссылки

Sensu

Sensu — фреймворк для мониторинга (или платформа, как они сами о себе говорят), но не готовая система мониторинга.

Её сильные стороны включают:

  • Интеграция с Puppet \ Chef — определяйте, что проверять, и куда отправлять уведомления прямо в вашей системе управления конфигурацией
  • Использование имеющихся технических решений там, где это возможно, вместо изобретения велосипедов (Redis, RabbitMQ)

Sensu вытягивает события из очереди и выполняет на них обработчики, вот и всё. Обработчики (Handlers) могут посылать сообщения, выполнять что-то на сервере, или делать что угодно ещё, чему вы их научите.

Масштабируемость

Sensu имеет гибкую архитектуру, поскольку каждый компонент может быть продублирован и заменён несколькими путями. Пример простой отказоустойчивой системы описан в следующей презентации; вот общая схема:


Sensu architectural diagram

С HAProxy и Redis-sentinel вы можете построить систему, в которой, при наличии хотя бы одной живой машины каждого типа (Sensu API, Sensu Dashboard, RabbitMQ, Redis) мониторинг будет продолжать работать без какого-либо ручного вмешательства.

Интеграция с системами управления конфигурацией

Встроенная (Puppet, Chef, EC2?!) но только в платной версии, что плохо, особенно если у вас тысячи серверов и вы не хотите платить за что-то, имеющее бесплатные аналоги.

Логирование действий

Встроенное, однако только в платной редакции.

UI

Uchiwa screenshot


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

Недостатки

  • Отсутствие исторической информации и очень ограниченные возможности создания проверок, основанной на ней;
  • Подход "сделай сам" — нет готового мониторинга, который можно было бы включить для вашей системы сразу после установки;
  • Агрегирование событий нетривиально;
  • Замудрёная отправка сообщений, что страшно (потому что это та часть системы, которая должна быть самой простой и надёжной) — неправда, я получил неправильное впечатление от документации, спасибо x70b1 за разъяснение;
  • Путь "мы не хотим изобретать колесо" имеет свои ограничения, которые могут быть вам знакомы, если вы когда-либо использовали подобные системы (в моём случае, это была система мониторинга Prometheus, которая оставляла ряд функций на откуп пользователю, например, авторизацию\аутентификацию\идентификацию).

Ссылки

Sensu — What I've Learnt
MOTD integration
Icinga 2

Icinga это форк Nagios'а, во второй версии переписанный с нуля. В отличии от Shinken, этот живой, часто обновляющийся проект.

Масштабируемость

Общая архитектура:

Icinga 2 architecture

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

Интеграция с системами управления конфигурацией

Интеграция довольно хороша, вот две презентации по теме:

в качестве источника информации о всех хостах и сервисах.

Логирование действий

Как я обнаружил, логирование действий представлено в модуле director. Встроенной поддержки аудита в IcingaWeb2 в данный момент нет.

UI

Icinga 2 web interface

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

Недостатки

Единственным недостатком, который я встретил, является сложность изначальной настройки. Непросто понять взгляд Icinga на мониторинг, если вы до этого использовали что-то совершенно иное, как, в моём случае, Zabbix.

Zabbix

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

Масштабируемость

Сервер работает с единственной базой данных, и вне зависимости от ваших действий, с любыми другими ресурсами на руках (память, сеть, CPU), вы в какой-то момент упрётесь в ограничения IO на диске, используемом базой данных. С 6000 IOPS в Amazon мы поддерживаем около двух тысяч nvps, новых значений в секунду, что неплохо, но всё же оставляет желать лучшего. Прокси и partitioning базы данных улучшает производительность, однако с точки зрения отказаустойчивости вы всё ещё имеете одну-единственную БД, которая является точкой отказа для всей системы.

Интеграция с системами управления конфигурацией

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

Логирование действий

Zabbix хорошо логирует действия пользователей, за исключением одного слепого пятна: изменения, сделанные через API, большей частью не логгируются, что может быть или может не быть проблемой для вас. Ещё одна вещь, которую я хотел бы упомянуть, это то, что все проблемы с Zabbix записаны где-то в баг-трекере, и, если они получают достаточно внимания со стороны сообщества, то рано или поздно устраняются.

UI

Dashboard is a main screen of Zabbix

UI Zabbix'а удобен и включает в себя много возможностей. Обратная сторона — он практически не расширяем, вы или смиряетесь с тем, что предлагает вам стандартный dashboard, либо создаёте свой собственный. Доработка стандартного UI является очень нетривиальной задачей из-за его сложности.

Недостатки

  • Только базовая аналитика о том, что происходит в данный момент (не в плане текущих проблем, а частоты из происхождения и подобной информации). Ситуация сильно улучшилась с появлением "топ 100 стреляющих триггеров" в 3.0;
  • Настройка плановых работ (maintenance), в отличии от систем, основанных на Nagios, не может быть выставлена на уровне триггера, и была довольно сложной до недавней переделки 3.2;
  • Генерация алертов из-коробки оставляет желать лучшего (что, впрочем, является проблемой всех до единой систем мониторинга). В нашем случае пришлось разработать внешнюю систему аггрегации алертов (возможно, когда-нибудь она будет опубликована в opensource);
  • Расследование проблем с производительностью без соответствующего опыта превращается в беспорядок, потому что у вас есть один неделимый сервер, который вам необходимо диагностировать.

Disclaimer

Это длинная запись с большим количеством картинок и ещё большим количеством текста. Здесь вы не найдёте однозначного ответа на простые вопросы наподобие "что лучше", но информацию для ответа на эти вопросы, основываясь на вашем опыте и желаниях. Я рассматриваю условия работы в Linux и слежения за Linux-хостами, поэтому поддержка системой разных платформ в расчёт не принималась. Также за условие принималось требование возможности следить за тысячами машин и тысячами сервисов.

По моему мнению, только Zabbix и Icinga 2 являются достаточно зрелыми для использования в "энтерпрайзе", главный вопрос, который должен задать себе тот, кто выбирает систему — какая философия мониторинга ему ближе, поскольку обе они позволяют получить один и тот же результат, используя совершенно разные подходы.

Сокеты процессоров Intel

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

За последние несколько лет ситуация немного изменилась и сформировался список сокетов Intel, которые еще активно используются и поддерживаются новыми процессорами. В этой статье мы собрали самые популярные сокеты процессоров Intel 2017, которые все еще можно поддерживаются.

Что такое сокет?

Перед тем как перейти к рассмотрению скоетов процессоров, давайте попытаемся понять что такое сокет? Сокетом называют физический интерфейс подключения процессора к материнской плате. Сокет LGA состоит из ряда штифтов, которые совпадают с пластинками на нижней стороне процессора.

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

1. LGA 1151

LGA 1151 - это последний сокет Intel. Он был выпущен в 2015 для поколения процессоров Intel Skylake. Эти процессоры использовали техпроцесс 14 нанометров. Поскольку новые процессоры, Kaby Lake не были сильно изменены, этот сокет остается все еще актуальным. Сокет поддерживается такими материнскими платами: H110, B150, Q150, Q170, H170 и  Z170.  Выход Kaby Lake принес еще такие платы: B250, Q250, H270, Q270, Z270.

По сравнению с предыдущей версией LGA 1150, здесь появилась поддержка USB 3.0, оптимизирована работа DDR4 и DIMM модулей памяти, добавлена поддержка SATA 3.0. Совместимость с DDR3 была еще сохранена. Из видео, по умолчанию поддерживается DVI, HDMI и DisplayPort, а поддержка VGA может быть добавлена производителями.

Чипы LGA 1151 поддерживают только разгон GPU. Если вы хотите разогнать процессор или память, вам придется выбрать чипсет более высокого класса. Кроме того, была добавлена поддержка Intel Active Management, Trusted Execution, VT-D и Vpro.

В тестах процессоры Skylake показывают лучший результат, чем Sandy Bridge, а новые Kaby Lake еще на несколько процентов быстрее.

Вот процессоры, которые работают на этом сокете на данный момент:

SkyLake:

  • Pentium - G4400, G4500, G4520;
  • Core i3 - 6100, 6100T, 6300, 6300T, 6320;
  • Core i5 - 6400, 6500, 6600, 6600K;
  • Core i7 - 6700, 6700K.

Kaby Lake:

  • Core i7 7700K, 7700, 7700T
  • Core i5 7600K, 7600, 7600T, 7500, 7500T, 7400, 7400T;
  • Core i3 7350K, 7320, 7300, 7300T, 7100, 7100T, 7101E, 7101TE;
  • Pentium: G4620, G4600, G4600T, G4560, G4560T;
  • Celeron G3950, G3930, G3930T.

2. LGA 1150

Сокет LGA 1150 разработан для предыдущего, четвертого поколения процессоров Intel Haswell в 2013 году. Также он поддерживается некоторыми чипами из пятого поколения. Этот сокет поддерживается такими материнскими платами: H81, B85, Q85, Q87, H87 и Z87. Первые три процессора можно считать устройствами начального уровня, они не поддерживают никаких продвинутых возможностей Intel.

В последних двух платах добавлена поддержка SATA Express, а также технологии Thunderbolt. Поддерживаемые процессоры:

Broadwell:

  • Core i5 - 5675C;
  • Core i7 - 5775C;

Haswell Refresh

  • Celeron - G1840, G1840T, G1850;
  • Pentium - G3240, G3240T, G3250, G3250T, G3258, G3260, G3260T, G3440, G3440T, G3450, G3450T, G3460, G3460T, G3470;
  • Core i3 - 4150, 4150T, 4160, 4160T, 4170, 4170T, 4350, 4350T, 4360, 4360T, 4370, 4370T;
  • Core i5 - 4460, 4460S, 4460T, 4590, 4590S, 4590T, 4690, 4690K, 4690S, 4690T;
  • Core i7 - 4785T, 4790, 4790K, 4790S, 4790T;

Haswell

  • Celeron - G1820, G1820T, G1830;
  • Pentium - G3220, G3220T, G3420, G3420T, G3430;
  • Core i3 - 4130, 4130T, 4330, 4330T, 4340;
  • Core i5 - 4430, 4430S, 4440, 4440S, 4570, 4570, 4570R, 4570S, 4570T, 4670, 4670K, 4670R, 4670S, 4670T;
  • Core i7 - 4765T, 4770, 4770K, 4770S, 4770R, 4770T, 4771;

3. LGA 1155

Это самый старый сокет в списке сокеты процессоров Intel из сейчас поддерживаемых. Он был выпущен в 2011 году для второго поколения Intel Core. Большинство процессоров архитектуры Sandy Bridge работают именно на этом сокете.

Сокет LGA 1155 использовался для процессоров двух поколений подряд, он также совместим с чипами Ivy Bridge. Это значит что можно было обновиться не меняя материнской платы, точно так же, как сейчас с Kaby Lake.

Этот сокет поддерживается двенадцатью материнскими платами. Старшая линейка включает B65, H61, Q67, H67, P67 и Z68. Все они были выпущены вместе с выходом Sandy Bridge. Запуск Ivy Bridge принес B75, Q75, Q77, H77, Z75 и Z77. Все платы имеют один и тот же сокет, но на бюджетных устройствах отключены некоторые функции.

Поддерживаемые процессоры:

Ivy Bridge

  • Celeron - G1610, G1610T, G1620, G1620T, G1630;
  • Pentium - G2010, G2020, G2020T, G2030, G2030T, G2100T, G2120, G2120T, G2130, G2140;
  • Core i3 - 3210, 3220, 3220T, 3225, 3240, 3240T, 3245, 3250, 3250T;
  • Core i5 - 3330, 3330S, 3335S, 3340, 3340S, 3450, 3450S, 3470, 3470S, 3470T, 3475S, 3550, 3550P, 3550S, 3570, 3570K, 3570S, 3570T;
  • Core i7 - 3770, 3770K, 3770S, 3770T;

Sandy Bridge

  • Celeron - G440, G460, G465, G470, G530, G530T, G540, G540T, G550, G550T, G555;
  • Pentium - G620, G620T, G622, G630, G630T, G632, G640, G640T, G645, G645T, G840, G850, G860, G860T, G870;
  • Core i3 - 2100, 2100T, 2102, 2105, 2120, 2120T, 2125, 2130;
  • Core i5 - 2300, 2310, 2320, 2380P, 2390T, 2400, 2400S, 2405S, 2450P, 2500, 2500K, 2500S, 2500T, 2550K;
  • Core i7 - 2600, 2600K, 2600S, 2700K.

4. LGA 2011

Сокет LGA 2011 был выпущен в 2011 году после LGA 1155 в качестве сокета для процессоров высшего класса Sandy Bridge-E/EP и Ivy Bridge E/EP. Гнездо разработано для шести ядерных процессоров и для всех процессоров линейки Xenon. Для домашних пользователей будет актуальной материнская плата X79. Все остальные платы рассчитаны на корпоративных пользователей и процессоры Xenon.

В тестах процессоры Sandy Bridge-E и Ivy Bridge-E показывают довольно неплохие результаты, производительность больше на 10-15%.

Поддерживаемые процессоры:

  • Haswell-E Core i7 - 5820K, 5930K, 5960X;
  • Ivy Bridge-E Core i7 - 4820K, 4930K, 4960X;
  • Sandy Bridge-E Core i7 - 3820, 3930K, 3960X, 3970X.

Это были все современные сокеты процессоров intel.

5. LGA 775

Дальше рассмотрим старые сокеты под процессоры intel. Этот сокет уже не применяется в новых материнских платах, но может до сих пор встречаться у многих пользователей. Он был выпущен в 2006 году.

Он применялся для установки процессоров Intel Pentium 4, Intel Core 2 Duo, Intel Core 2 Quad и многих других, вплоть до выпуска LGA 1366. Такие системы устарели и используют старый стандарт памяти DDR2.

6. LGA 1156

Сокет LGA 1156 был выпущен для новой линейки процессоров в 2008 году. Он поддерживался такими материнскими платами H55, P55, H57 и Q57. Новые модели процессоров под этот сокет не выходили уже давно.

Поддерживаемые процессоры:

Westmere (Clarkdale)

  • Celeron - G1101;
  • Pentium - G6950, G6951, G6960;
  • Core i3 - 530, 540, 550, 560;
  • Core i5 - 650, 655K, 660, 661, 670, 680.

Nehalem (Lynnfield)

  • Core i5 - 750, 750S, 760;
  • Core i7 - 860, 860S, 870, 870K, 870S, 875K, 880.

7. LGA 1366

LGA 1366 - это версия 1566 для процессоров высшего класса. Поддерживается материнской платой X58. Поддерживаемые процессоры:

Westmere (Gulftown)

  • Core i7 - 970, 980;
  • Core i7 Extreme - 980X, 990X.

Nehalem (Bloomfield)

  • Core i7 - 920, 930, 940, 950, 960;
  • Core i7 Extreme - 965, 975.

Выводы

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

Последний сокет intel 1151, поддерживается процессорами Skylake и KabyLake. Можно предположить, что процессоры CoffeLake, которые выйдут летом этого года тоже будут использовать этот сокет. Раньше существовали и другие типы сокетов intel, но они уже встречаются очень редко.

Источник: losst.ru

KDE Slimbook — ноутбук для поклонников Linux и графической среды KDE

Ноутбук KDE Slimbook Проект KDE объявил о доступности ноутбука, выпущенного под его брендом, — KDE Slimbook. Как логично предположить, новый лаптоп оснащён предварительно установленной операционной системой GNU/Linux со всеми компонентами графической среды KDE (Plasma, Applications).

Превратите ваш Ubuntu терминал в интерфейс Голливудских хакеров

Вы наверняка видели в голливудских фильмах, много окон терминалов, открытых на нескольких мониторах со странными кодами, текстами и изображениями?

Я видел это в фильмах научной фантастики и триллерах. В таких фильмах, сотрудники ЦРУ очень заняты с несколькими мониторами в которых работает несколько консолей, в очень сложной по своей структуре комнате (вспомнили?).

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

В случае, если у вас есть свободное время и вы хотите испытать, как эти несколько консолей выглядят на рабочем столе Ubuntu, вы можете попробовать утилиту «HOLLYWOOD».

Hollywood это пакет Ubuntu разработан Dustin Kirkland, в его свободное время. И если честно, Hollywood это завораживающее, веселое, но к сожалению бесполезное приложение. Вы можете использовать его просто для удовольствия! Эта утилита превратит вашу консоль Ubuntu Linux, в настоящий интерфейс хакеров Hollywood.
Посмотрите ниже видео демонстрацию Ubuntu Hollywood.

Установить Hollywood в Ubuntu

Утилита доступна в стандартных репозиториях Ubuntu 15.04. Кроме того, Dastin создал PPA для других версий Ubuntu.

Выполните следующие команды одну за другой, чтобы установить Hollywood в вашу систему Ubuntu.

sudo apt-add-repository ppa:hollywood/ppa
sudo apt-get update
sudo apt-get install hollywood
sudo apt-get install byobu

Для запуска наберите в терминале

hollywood

Эта утилита не является какой-то настройкой Ubuntu, а она создана для того чтобы повеселится, расслабится от повседневной рутины, которая происходит у нас каждый день. С помощью нее вы можете разыграть друга, или показать своей девушке как вы можете работать в терминале. Веселитесь!

Подключение к интернету в Ubuntu через Android смартфон

Сегодня мы обсудим материал о том, как легко подключиться к сети интернет в Ubuntu используя ваш Android смартфон на котором доступен 3G / GPRS / итд интернет. В общем, мы имеем смартфон Android на котором у вас есть 3G или обычный GPRS интернет. Что нужно для того, чтобы подключить его на компьютере через USB кабель без использования Bluetooth адаптеров? Все мы знаем, что использование bluetooth адаптера так же не выход так как его пропускная способность гарантирует вам испорченные нервы, если у вас 3G, то с bluetooth адаптером это не сочетается, лучше уже работать через USB кабель и ниже мы обсудим как быть и что делать.

В общем, что мы делаем чтобы подключиться к сети интернет через Android смартфон:

Активируем мобильный интернет Переходим в вкладку "Еще" Активируем режим "USB-модем" Готово, режим "USB-модем" активен 

 
  1. Подключите к вашему смартфону USB кабель и воткните в системный блок вашего компьютера или в боковую панель вашего ноутбука.
  2. Далее как обычно мы подключаем интернет на смартфоне, откройте шторку на верхней панели вашего Android смартфона или планшета - Передача данных / Мобильный интернет, выберите оператора мобильной связи услугами которого вы пользуетесь, отметили, почти готово.
  3. Перейдите в Настройки смартфона - Еще - Режим модема - USB модем, установите отметку напротив этого пункта.  

Смотрим на верхнюю панель индикаторов и видим что пошло соединение к сети интернет, чудеса, не правда ли, посмотрим какое соединение у нас получилось, перейдите в пункт - Изменить соединения, далее увидим:

Активное проводное интернет-соединение используя Андроид в Ubuntu

Проверяем настройки соединения

Как видно с скриншотов, у нас активно проводное интернет соединение Ethernet. Что хотел бы добавить, главная изюминка этого интернета в том, если вы сделали как описано выше, вроде и соединение автоматически произошло, но проверяя в браузере вы увидели что ничего не работает и вы не можете серфить по сети интернет. Главное чтобы вы в передаче данных сразу же подключили оператора мобильной связи интернетом которого вы пользуетесь, если этого не выполнить, да, проводное соединение автоматически будет выполнено, но интернет не будет работать пока не будет активен один из операторов мобильной связи в разделе "Передача данных".

Вот так просто и реализуется подключение к сети интернет в Ubuntu используя ваш смартфон на базе Android. Обычно я пользуюсь 3G используя модем в силу того, что в моей местности проводной еще не дотянули, хотя в скором времени ожидается так как провайдер уже тянет кабель и скоро как говорится цивилизация и к нам дойдет. Используя обычный тот же "Интертелеком", честно скажу, ну очень гавняный интернет, но у меня не было выбора, я имел возможность пользоваться интернетом ну максимум с скоростью 3.1 мб. Подключим интернет с использованием Android смартфона с доступным 3G от оператора мобильной связи MTS, мы имеем скорость 15-17 мб, когда как, ниже предоставляю замер скорости:

Замер скорости с использованием смартфона Android в ubuntu

все же это еще одно отличное решение чтобы использовать мобильный интернет с использованием вашего смартфона в Ubuntu.

Основные шины компьютера

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

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

Что такое шина компьютера

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

Фактически, шина - это набор электрических проводов, собранных в пучок, среди них есть провода питания, а также сигнальные провода для передачи данных. Шины также могут быть сделаны не в виде внешних проводов, а вмонтированы в схему материнской платы.

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

Виды системных шин

Все шины компьютера можно разделить за их предназначением на несколько типов. Вот они:

  • Шины данных - все шины, которые используются для передачи данных между процессором компьютера и периферией. Для передачи могут использоваться как последовательный, так и параллельный методы, можно передавать от одного до восьми бит за один раз. По размеру данных, которые можно передать за один раз такие шины делятся на 8, 16, 32 и даже 64 битные;
  • Адресные шины - связаны с определенными участками процессора и позволяют записывать и читать данные из оперативной памяти;
  • Шины питания - эти шины питают электричеством различные, подключенные к ним устройства;
  • Шина таймера - эта шина передает системный тактовый сигнал для синхронизации периферийных устройств, подключенных к компьютеру;
  • Шина расширений - позволяет подключать дополнительные компоненты, такие как звуковые или ТВ карты;

В то же время, все шины можно разделить на два типа. Это системные шины или внутренние шины компьютера, с помощью которых процессор соединяется с основными компонентами компьютера на материнской плате, такими как память. Второй вид - это шины ввода/вывода, которые предназначены для подключения различных периферийных устройств. Эти шины подключаются к системной шине через мост, который реализован в виде микросхем процессора.

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

Вот наиболее распространенные типы шин в компьютере для расширений:

  • ISA - Industry Standard Architecture;
  • EISA - Extended Industry Standard Architecture;
  • MCA - Micro Channel Architecture;
  • VESA - Video Electronics Standards Association;
  • PCI - Peripheral Component Interconnect;
  • PCI-E - Peripheral Component Interconnect Express;
  • PCMCIA - Personal Computer Memory Card Industry Association (также известна как PC bus);
  • AGP - Accelerated Graphics Port;
  • SCSI - Small Computer Systems Interface.

А теперь давайте более подробно разберем все эти шины персональных компьютеров.

Шина ISA

4734157_f520

Раньше это был наиболее распространенный тип шины расширения. Он был разработан компанией IBM для использования в компьютере IBM PC-XT. Эта шина имела разрядность 8 бит. Это значит что можно было передавать 8 бит или один байт за один раз. Шина работала с тактовой частотой 4,77 МГц.

Для процессора 80286 на базе IBM PC-AT была сделана модификация конструкции шины, и теперь она могла передавать 16 бит данных за раз. Иногда 16 битную версию шины ISA называют AT.

Из других усовершенствований этой шины можно отметить использование 24 адресных линий, что позволяло адресовать 16 мегабайт памяти. Эта шина имела обратную совместимость с 8 битным вариантом, поэтому здесь можно было использовать все старые карты. Первая версия шины работала на частоте процессора - 4,77 МГц, во второй реализации частота была увеличена до 8 МГц.

Шина MCA

rid7

Компания IBM разработала эту шину в качестве замены для ISA, для компьютера PS/2, который вышел в 1987 году. Шина получила еще больше усовершенствований по сравнению с ISA. Например, была увеличена частота до 10 МГц, а это привело к увеличению скорости, а также шина могла передавать 16 или 32 бит данных за раз.

Также была добавлена технология Bus Mastering. На плате каждого расширения помещался мини-процессор, эти процессоры контролировали большую часть процессов передачи данных освобождая ресурсы основного процессора.

Одним из преимуществ этой шины было то, что подключаемые устройства имели свое программное обеспечение, а это значит что требовалось минимальное вмешательство пользователя для настройки. Шина MCA уже не поддерживала карты ISA и IBM решила брать деньги от других производителей за использование этой технологии, это сделало ее непопулярной с сейчас она нигде не используется.

Шина EISA

13171568_f520

Эта шина была разработана группой производителей в качестве альтернативы для MCA. Шина была приспособлена для передачи данных по 32 битному каналу с возможностью доступа к 4 Гб памяти. Подобно MCA для каждой карты использовался микропроцессор, и была возможность установить драйвера с помощью диска. Но шина все еще работала на частоте 8 МГц для поддержки карт ISA.

 

Слоты EISA в два раза глубже чем ISA, если вставляется карта ISA, то она использует только верхний ряд разъемов, а EISA использует все разъемы. Карты EISA были дорогими и использовались обычно на серверах.

Шина VESA

rid8

Шина VESA была разработана для стандартизации способов передачи видеосигнала и решить проблему попыток каждого производителя придумать свою шину.

Шина VESA имеет 32 битный канал передачи данных и может работать на частоте 25 и 33 МГц. Она работала на той же тактовой частоте, что и центральный процессор. Но это стало проблемой, частота процессора увеличивается и должна была расти скорость видеокарт, а чем быстрее периферийные устройства, тем они дороже. Из-за этой проблемы шина VESA со временем была заменена на PCI.

Слоты VESA имели дополнительные наборы разъемов, а поэтому сами карты были крупными. Тем не менее сохранялась совместимость с ISA.

Шина PCI

13171600_f520

Peripheral Component Interconnect (PCI) - это самая новая разработка в области шин расширений. Она является текущем стандартом для карт расширений персональных компьютеров. Intel разработала эту технологию в 1993 году для процессора Pentium. С помощью этой шины соединяется процессор с памятью и другими периферийными устройствами.

PCI поддерживает передачу 32 и 64 разрядных данных, количество передаваемых данных равно разрядности процессора, 32 битный процессор будет использовать 32 битную шину, а 64 битный - 64 битную. Работает шина на частоте 33 МГц.

В PCI можно использовать технологию Plug and Play (PnP). Все карты PCI поддерживают PnP. Это значит, что пользователь может подключить новую карту, включить компьютер и она будет автоматически распознана и настроена.

Также тут поддерживается управление шиной, есть некоторые возможности обработки данных, поэтому процессор тратит меньше времени на их обработку. Большинство PCI карт работают на напряжении 5 Вольт, но есть карты, которым нужно 3 Вольта.

 

Шина AGP

ecs2

Необходимость передачи видео высокого качества с большой скоростью привела к разработке AGP. Accelerated Graphics Port (AGP) подключается к процессору и работает со скоростью шины процессора. Это значит, что видеосигналы будут намного быстрее передаваться на видеокарту для обработки.

AGP использует оперативную память компьютера для хранения 3D изображений. По сути, это дает видеокарте неограниченный объем видеопамяти. Чтобы ускорить передачу данных Intel разработала AGP как прямой путь передачи данных в память. Диапазон скоростей передачи - 264 Мбит до 1,5 Гбит.

PCI-Express

pciexpress

Это модифицированная версия стандарта PCI, которая вышла в 2002 году. Особенность этой шины в том что вместо параллельного подключения всех устройств к шине используется подключение точка-точка, между двумя устройствами. Таких подключений может быть до 16.

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

PC Card

350173435

Шина Personal Computer Memory Card Industry Association (PCICIA) была создана для стандартизации шин передачи данных в портативных компьютерах.

Шина SCSI

13171590_f520

Шина SCSI была разработана М. Шугартом и стандартизирована в 1986 году. Эта шина используется для подключения различных устройств для хранения данных, таких как жесткие диски, DVD приводы и так далее, а также принтеры и сканеры. Целью этого стандарта было обеспечить единый интерфейс для управления всеми запоминающими устройствами на максимальной скорости.

Шина USB

usbkill-shuts-down-computer-when-usb-port-activity-changes-480235-2

Это стандарт внешней шины, который поддерживает скорость передачи данных до 12 Мбит/сек. Один порт USB (Universal Serial Bus) позволяет подключить до 127 периферийных устройств, таких как мыши, модемы, клавиатуры, и другие устройства USB. Также поддерживается горячее удаление и вставка оборудования. На данный момент существуют такие внешние шины компьютера USB, это USB 1.0, USB 2.0, USB 3.0, USB 3.1 и USB Type-C.

USB 1.0 был выпущен в 1996 году и поддерживал скорость передачи данных до 1,5 Мбит/сек. Стандарт USB 1.1 уже поддерживал скорость 12 Мбит/сек для таких устройств, как жесткие диски.

Более новая спецификация - USB 2.0 появилась в 2002 году. Скорость передачи данных выросла до 480 Мбит/сек, а это в 40 раз быстрее чем раньше.

USB 3.0 появился в 2008 году и поднял стандарт скорости еще выше, теперь данные могут передаваться со скоростью 5 Гбит/сек. Также было увеличено количество устройств, которые можно питать от одного порта. USB 3.1 был выпущен в 2013 и тут уже поддерживалась скорость до 10 Гбит/с. Также для этой версии был разработан компактный разъем Type-C, к которому коннектор может подключаться любой стороной.

 

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

Источник: losst.ru

  

ТОВ "УАЛІНУКС"

Телефон: +380 (97) 33-55-1-88 (пн ... пт   09.00 - 18.00)

Viber, WhatsApp, Telegram: +380 (97) 33-55-1-88 (24/365)

E-Mail: main@ualinux.com (Головний офіс)

© 2020 UALinux