Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Рыбный дождь — это настоящий симулятор рыбной ловли, позволяющий забросить удочку в настоящие водоёмы со всего мира и поймать ту рыбу, которая там водится.

Рыбный дождь

Спорт, Симуляторы, Рыбалка

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
90
raidshadowlegend
raidshadowlegend
Лига Сисадминов

Как ядро Linux управляет памятью приложений⁠⁠

20 дней назад

Linux использует подсистему виртуальной памяти как логический слой между запросами приложений на память и физической памятью (RAM). Такая абстракция позволяет скрыть от приложения всю возню с тем, как именно устроена физическая память на конкретной платформе.

Когда приложение лезет по виртуальному адресу, который ему «выставила» подсистема виртуальной памяти Linux, аппаратный MMU поднимает событие — мол, тут попытались обратиться к области, за которой сейчас не закреплена никакая физическая память. Это приводит к исключению, которое называется «ошибка страницы» (Page Fault). Ядро Linux обрабатывает её, сопоставляя нужный виртуальный адрес с физической страницей памяти.

Виртуальные адреса незаметно для приложения сопоставляются с физической памятью за счёт совместной работы железа (MMU, Memory Management Unit) и софта (таблицы страниц, Page Tables). Информация об этих сопоставлениях ещё и кэшируется в самом железе — в TLB (Translation Lookaside Buffer), чтобы дальше быстро находить нужные физические адреса.

Страница — это просто группа подряд идущих линейных адресов в физической памяти. На x86 размер страницы — 4 КБ.

Абстракция виртуальной памяти даёт несколько плюсов:

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

  • Процесс всегда видит линейный непрерывный диапазон байт в своём адресном пространстве — даже если физическая память под ним фрагментирована.

Например: когда приложение просит 10 МБ памяти, ядро Linux просто резервирует 10 МБ непрерывного виртуального адресного диапазона. А вот физические страницы, куда этот диапазон будет отображён, могут лежать где угодно. Единственное, что гарантированно идёт подряд в физической памяти — это размер одной страницы (4 КБ).

  • Быстрый старт из-за частичной загрузки. Demand paging подгружает инструкции только в момент, когда они реально понадобились.

  • Общий доступ к памяти. Одна копия библиотеки или программы в физической памяти может быть отображена сразу в несколько процессов. Это экономит физическую память.

Команда pmap -X <pid> помогает посмотреть, какие области памяти процесса общие с другими, а какие — приватные.

  • Несколько программ, потребляющих в сумме больше физической памяти, могут спокойно работать одновременно. Ядро втихаря выталкивает давно неиспользуемые страницы на диск (swap).

  • Каждый процесс живёт в своём отдельном виртуальном адресном пространстве и не может вмешиваться в память других процессов.

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

Виртуальное адресное пространство процесса состоит из сегментов разных типов: Text, Data, Heap, Stack, сегменты общей памяти (SHM) и области, созданные через mmap. Адресное пространство процесса — это диапазон виртуальных адресов, который ядро «выдаёт» процессу как его среду исполнения.

Каждый сегмент — это линейный диапазон виртуальных адресов с началом и концом, за которым стоит какой-то источник данных (backing store): файловая система или swap.

Ошибка страницы обрабатывается так: ядро поднимает физическую страницу, заполняя её данными из backing store. Когда памяти начинает не хватать, данные из физических страниц, используемых как кеш, сбрасываются обратно в свой backing store. Сегмент Text у процесса опирается на исполняемый файл в файловой системе. А вот стек, куча, страницы COW (Copy-on-Write) и shared memory — это анонимные (Anon) страницы, их хранилище — swap (дисковый раздел или файл).

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

Когда процесс вызывает malloc() или sbrk(), ядро создаёт новый сегмент кучи в адресном пространстве процесса и резервирует диапазон виртуальных адресов, по которому он теперь может легально ходить. Любое обращение к адресу за пределами этих границ приведёт к segmentation fault — и процесс отправится в небытие. Выделение физической памяти при этом отложено: она будет выделена только когда процесс реально обратится к этим виртуальным адресам.

Пример: приложение сделает malloc() на 50 ГБ, но реально коснётся (то есть вызовет page fault) только 10 МБ. Тогда физической памяти уйдёт всего 10 МБ.

Посмотреть виртуальное/физическое потребление памяти можно через “ps”, “pidstat” или “top”. Столбец SIZE показывает размер виртуального сегмента, а RSS — объём выделенной физической памяти.

Физические страницы, которые используются для сегмента Text или для файлового кеша (page cache), можно освобождать быстро — данные всегда можно снова получить из backing store (файловой системы). А вот для освобождения анонимных страниц сначала нужно записать их содержимое в swap, и только потом страница может быть освобождена.

Политика выделения памяти в Linux

Выделение памяти процессам регулируется политикой распределения памяти в Linux. В системе есть три режима, и выбираются они с помощью настройки vm.overcommit_memory.

1.Эвристический overcommit (vm.overcommit_memory=0)

Это режим по умолчанию. Ядро позволяет процессам «переборщить» с запросами памяти в разумных пределах — как решат внутренние эвристики. Они учитывают свободную память, свободный swap, а также память, которую можно быстро освободить, ужав файловый кеш или slab-кеши ядра.

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

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

(знаю, что нынче сравнения в формате плюсы/минусы в статье приравниваются к генерации нейросети, но пока это всё еще лучший вариант описания, так что...)

2.Всегда overcommit (vm.overcommit_memory=1)

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

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

Минусы: те же, что и в эвристическом режиме. Приложение может сделать malloc() на терабайты при наличии нескольких гигабайт RAM. Пока оно не тронет все страницы, проблем нет — но как только тронет, может включиться OOM Killer.

3.Строгий overcommit (vm.overcommit_memory=2)

В этом режиме ядро запрещает overcommit и резервирует не только виртуальный диапазон, но и физическую память. Нет overcommit — нет и OOM Killer.

При Strict Overcommit ядро отслеживает, сколько физической памяти уже зарезервировано или закоммичено.

Поскольку Strict Overcommit не учитывает свободную память или swap, ориентироваться на free или vmstat бессмысленно. Чтобы понять, сколько памяти можно ещё выделить, смотрят в /proc/meminfo на поля CommitLimit и Committed_AS.

Текущую границу выделения считают так: CommitLimit − Committed_AS.

Настройка vm.overcommit_ratio задаёт предел overcommit’а для этого режима. Предел считается так: PhysicalMemory × overcommit_ratio + swap.

Значение можно поднять, увеличив vm.overcommit_ratio (по умолчанию — 50% от RAM).

Плюсы: OOM Killer не сработает. Лучше, чтобы приложение упало сразу при старте, чем посреди боевой нагрузки от OOM Killer. Solaris работает только так. Strict overcommit не использует free memory/swap для расчёта лимита.

Минусы: overcommit отсутствует полностью. Зарезервированная, но не используемая память простаивает — другие приложения её потрогать не могут. Новый процесс может не получить память, даже если система показывает много свободной RAM — потому что она уже «обещана» другим процессам.

Мониторинг свободной памяти становится хитрее. Многие приложения под Linux не умеют корректно обрабатывать ошибки выделения памяти — это может привести к повреждению данных и странным, трудно отлавливаемым сбоям.

Примечание: и в эвристическом, и в строгом режиме ядро резервирует часть памяти для root. В эвристике — 1/32 от свободной RAM. В строгом — 1/32 от процента реальной памяти, который вы задали. Это зашито в ядро и не настраивается. Например, на системе с 64 ГБ будет зарезервировано 2 ГБ для root.

OOM Killer

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

Критерии выбора «жертвы» иногда приводят к тому, что убивается самый важный процесс. Есть несколько способов снизить риски:

  • Выключить OOM Killer, переключив систему на строгий overcommit:

sudo sysctl vm.overcommit_memory=2 sudo sysctl vm.overcommit_ratio=80

  • Исключить критический процесс из рассмотрения OOM Killer. Но даже это иногда не спасает: ядру всё равно нужно кого-то убить, чтобы освободить память. В некоторых ситуациях остаётся только автоматическая перезагрузка, чтобы восстановить работу системы.

sudo sysctl vm.panic_on_oom=1 sudo sysctl kernel.panic="number_of_seconds_to_wait_before_reboot"

Преимущества файлового кеша

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

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

Наличие файлового кеша заметно ускоряет работу приложений с диском:

  • Чтение: когда приложение читает данные из файла, ядро делает физический IO и подтягивает блоки с диска. Прочитанные данные помещаются в файловый кеш, чтобы в следующий раз не ходить на диск. Повторное чтение того же блока — это уже логический IO (чтение из кеша), что резко снижает задержки. Кроме того, файловые системы выполняют упреждающее чтение (read-ahead): если замечают последовательный доступ, подгружают соседние блоки заранее, предполагая, что приложению они скоро понадобятся.

  • Запись: когда приложение пишет данные в файл, ядро кладёт их в page cache и сразу подтверждает запись (buffered write). Данные в кеше могут многократно обновляться (write cancelling), прежде чем ядро решит, что пора сбросить грязные страницы на диск.

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

Файловый кеш улучшает производительность IO, скрывая задержки хранилища.

Преимущества HugeTLB и HugePages

Функция HugeTLB в Linux позволяет приложениям использовать большие страницы — 2 МБ или 1 ГБ вместо стандартных 4 КБ. TLB (Translation Lookaside Buffer) — это аппаратный кеш, который хранит отображения «виртуальный → физический» адрес. Когда нужной записи там нет (TLB miss), приходится идти в таблицы страниц в памяти, а это дорогая операция.

TLB-хиты становятся всё важнее из-за растущего разрыва между скорости CPU и памяти, а также из-за увеличения объёмов памяти. Частые TLB miss могут ощутимо просадить производительность.

TLB — ограниченный ресурс на чипе, и ядро Linux старается использовать его максимально эффективно. Каждый элемент TLB может быть настроен на работу со страницами разных размеров: 4 КБ, 2 МБ или 1 ГБ.

Если те же слоты TLB использовать под страницы покрупнее, можно покрывать куда большие области физической памяти:

  • 4 KB pages: 64×4 KB + 1024×4 KB ≈ 4 MB

  • 2 MB pages: 32×2 MB + 1024×2 MB ≈ 2 GB

  • 1 GB pages: 4 GB

Плюсы:

  • Большие страницы уменьшают количество TLB miss, потому что один TLB-слот покрывает больше адресного пространства.

  • Требуется меньше записей в таблицах страниц, и уровней таблиц меньше. Это сокращает задержки на обход таблиц (2 уровня вместо 4) и уменьшает память, расходуемую на сами таблицы.

  • Large Pages фиксируются в памяти и не участвуют в выгрузке при нехватке RAM.

  • Снижается частота page fault: один fault может заполнить сразу 2 МБ или 1 ГБ, а не жалкие 4 КБ. Приложение «прогревается» заметно быстрее.

  • Если у приложения есть локальность данных, HugeTLB даст выигрыш. Но если оно читает байт там, байт здесь, или прыгает по огромной хеш-таблице, то обычные 4 КБ-страницы могут быть выгоднее.

  • Улучшается работа механизма prefetch: крупные страницы устраняют необходимость перезапуска чтения на границах 4K.

Минусы:

  • Большие страницы требуют предварительного резервирования. Администратор должен заранее выставить количество страниц: vm.nr_hugepages=<число>

(У Transparent Huge Pages предварительного шага нет.)

  • Приложение должно уметь работать с HugePages.

Например, JVM нужно запускать с флагом -XX:+UseLargePages, иначе большие страницы просто лежат без дела.

Посмотреть использование: cat /proc/meminfo | grep -E 'HugePages_|Hugepagesize'

  • Для HugePages нужны непрерывные физические участки памяти — 2 МБ или 1 ГБ. На системе, которая работает долго, большая часть RAM может быть уже разрезана на 4К страницы, и запрос на HugePage будет просто нечем удовлетворить.

Показать полностью 2
Linux Ядро Оперативная память Системное администрирование Программа Длиннопост
11
Bobren
Bobren
IT-юмор

Пара случаев смешного из IT (или около IT)⁠⁠

27 дней назад

Пара случаев смешного из IT (или около IT) прям из моей недавней жизни

Один чел страшно недоволен разными аспектами своей работы и объявляет на нервах, что все, уволился и уходит во фриланс. Причем он админ. Предлагает услуги что снесет клиентам всю систему и сделает "нормально". Дорого. Так и сказал. Ну доброе комьюнити тут же страшно заинтересовалось такими перспективами и сказало что ага, возьми все наши деньги и мы хотим от тебя детей. Ну и...

Пара случаев смешного из IT (или около IT)

Второе: нашел в коде прекрасное: Status and False

Такой уровень неадеквата даже заставил меня засомневаться и я спросил смысл этого у ИИ. Ответ ИИ:
Но реализация — анально-дикая, из серии «программист-самоучка писал через подмышку». Никакой хитрости. Никакого скрытого смысла. Никаких старых приёмов. Просто кривой код

[моё] Программирование Системное администрирование Фриланс IT
13
4
Vekna
Vekna

Безопасникам на заметку⁠⁠

1 месяц назад

Попали мне как то в руки файлы конфигов СКУД, одной очень умной организации. Умной без шуток. Чуть больше 500 сотрудников, из них чуть больше сотни докторов и кандидатов, в основном технических, наук. СКУД там тоже был очень умный и хитрый. Кроме обычного "потыкать карточкой" иногда, в результате срабатывания алгоритма требовал ввести четырёхзначный пин. Например если сотрудник отсутствовал более 3х рабочих дней подряд и всякое такое. Ну и другие вероятности компрометации пропуска. Пин сотрудник придумывал себе сам. А вот конфиги с этими самыми пинами лежали на серваке не хэшами, как по идее должно быть, а плэйнтекстом. С одной стороны как бы пох, у него отдельная сеть, в инет не торчит, с другой как то неправильно всё это.

Фуххх... вроде намёками объяснил что за контора. А теперь шутка юмора: из более чем 500 пинкодов 51 штука была "3141", 11 штук "2718", 4 шт "1488" (предполагаю что эти обслуживающего персонала). При этом договорится о пинах они не могли, да и незачем было. Остальные не повторялись =))

[моё] Информационная безопасность Системное администрирование СКУД Текст
35
11
Misket
Лига Сисадминов

Cisco 1760 после выключения света глюканула⁠⁠

1 месяц назад

Работала цыцка и никого не трогала, принимала городские номера и переводила на voip телефоны через 2fxo.
И работала она прекрасно 1.5 года.

Но одним приятным утром посыпались жалобы, что городские номера не работают.

смотрю на цыцку, лампочки мерцают, а в сети не видно.

И так и сяк перезапустил. Не видно в сети.
Купил кабель с db9 на usb, подключил к родному консольному кабелю и вижу вот что.

================================

Warning: Cookie information is corrupt
loadprog: error - Invalid image for platform
e_machine = 51, cpu_type = 110
boot: cannot load "flash:c1700-ipvoicek9-mz.124-25d.bin"

System Bootstrap, Version 12.2(7r)XM2, RELEASE SOFTWARE (fc1)
TAC Support: http://www.cisco.com/tac
Copyright (c) 2003 by cisco Systems, Inc.

Bad checksum on cookie structure, resorting to backup copy

Warning: Cookie information is corrupt

Warning: Cookie information is corrupt
C1700 platform with 98304 Kbytes of main memory

Warning: Cookie information is corrupt
loadprog: error - Invalid image for platform
e_machine = 51, cpu_type = 110
boot: cannot load "flash:"

System Bootstrap, Version 12.2(7r)XM2, RELEASE SOFTWARE (fc1)
TAC Support: http://www.cisco.com/tac
Copyright (c) 2003 by cisco Systems, Inc.

Bad checksum on cookie structure, resorting to backup copy

Warning: Cookie information is corrupt
loadprog: error - Invalid image for platform
e_machine = 51, cpu_type = 110
boot: cannot load "flash:"

System Bootstrap, Version 12.2(7r)XM2, RELEASE SOFTWARE (fc1)
TAC Support: http://www.cisco.com/tac
Copyright (c) 2003 by cisco Systems, Inc.

Bad checksum on cookie structure, resorting to backup copy

Warning: Cookie information is corrupt
rommon 1 >

=================================

Я Проверил хранилище образа, вроде образ на месте.
rommon 1 > dir flash:
File size Checksum File name
18305632 bytes (0x1175260) 0x3e15 c1700-ipvoicek9-mz.124-25d.bin
Почему он тогда в начале показывает сначало что есть образ, а потом нету.... Непонятно.

Далее проверил куки, пустота...
rommon 2 > cookie
cookie:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

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

Далее скачал тройку других образов, но залить их не удаётся.

Пробовал через xmodem и tftp
Оба варианта не могут даже к ПК подключится.
Конкретней:
Xmodem даже не пытается начать закачивать образ, появляется окно передачи, никаких увы и об обмене не появляется. И окошко тупо закрывается, а потом и вовсе время истекает.

А tftp настраивал по разному, он либо ПК не видит.
Либо жалуется на то, что образы не подходит к этой цыцке. (Я хотя пытался воткнуть разные версии, и даже та которая была)

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


Показать полностью
[моё] Cisco Системное администрирование Voip Компьютерная помощь Длиннопост
20
dimkaindapro
Лига Сисадминов

Про админов которые ничего не делают⁠⁠

1 месяц назад

Сижу, почитываю комменты к рандомному посту, и в очередной раз вижу :

Если админ сидит и ничего не делает-это хорошо, он все настроил и наладил, и жопа у него не в мыле

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

По факту, за мой, довольно короткий, век в компуктерной движухе поработал в госпарГосударственных организациях, даже в ООО бывал. И руководил и эникеил, влан во влан запихнуть смогу, и все это в Distributed Switch, всякое бывало..

Но зачастую неизменным остаётся одно: Замечательные, сказочные, админы которые все настроили и играли в кваку.

По факту после этих товарищей остаётся лишь хтонь и мрак:

1.L2 трафик провайдера в локалке? РАБОТАЕТ НЕ ТРОШ, ну и чо что можно на любой комп за мариком прикрутить белый ИП и наслаждаться как тебя долбят китайцы.

2. Постоянно кончается место на файловой самбе в конторе на 70 чел? ничего не сделать, лапки, и похрену что за два года одмины не смогли в аудит техники и не нашли кластер серверов с схд за 2 ляма, которые простаивали, недоеденные до ума предыдущими админами))) у которых наверное тоже все налажено было.

3.Нужно сделать аналоговую телефонию? Круто 2012 год, хорошее решение, покупаем KX-TDA/e, согласование смет, планов и договоры с бизнесом? Нет. иии распускаем витуху до компов, и используем 2 пары под аналог, остальное FE и похрен нам на будущих админов, оно ж работает, и свитч ещё под потолок, он тоже работает и трогать его не нужно. Лушче книги там почитать. Прибухнуть.

4. Ой а что такое DHCP? это прошлый админ знал, мы сделаем на века! Ой подсетка то кончилась, прикрутим ка мы статикой ещё подсетку(я так на прошлой работе делал и все работало без проблем) и в итоге и в одну l2 без вланов и камеры туда и скуд и хотспот и DMZ там же. Не нуачо? Путь наименьшего сопротивления!!! Поспим. Все же работает

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

6.Мы переехали в прекрасное здание, подрядчик оформил красивые стойки, что будет делать одмин который "все оптимизировал"? Расключит все лапшой по 3 метра, не ну а чо? Я шо эникей патчи обжимать?? Лучше сирик посмотрю.

А как и на чем эти горе оптимизаторы вертят документацию с систематизацией... И если повезло и нашлись креденталсы от админа AD смотришь потом на компуктеры Buh1,Buh228, HEbuh2,buhbuh----78. И персональное раскидывает ярлыков в дефолтной политике.

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

Про админов которые ничего не делают
Показать полностью 1
Системное администрирование IT Длиннопост
55
Little.Muse
Little.Muse

Ответ на пост «Вот там у Генерального Директора пригорало !!!»⁠⁠10

1 месяц назад

Как человек который в ИТ работает уже далеко не первый год.

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

Представьте, что в офисе надо сделать ремонт и компания нанимает рабочих, а после окончания ремонта ещё 10 лет платить им ту же зарплату просто за ничего не делание, с формулировкой "а вдруг что отвалится". Чем а данном случае сисадмин лучше?

Он точно так же нанимается на проект, делает настройки 2-3 месяца, потом сдает рабочую систему и документацию к ней и отправляется на другой проект.

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

Работа Системное администрирование IT Руководство Увольнение Мат Ответ на пост Текст Волна постов Мнение
253
378
Gaidmens
Gaidmens

Ответ на пост «Вот там у Генерального Директора пригорало !!!»⁠⁠10

1 месяц назад

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

Работа Админ Системное администрирование IT Айтишники Мат Ответ на пост Текст Волна постов Знания Мнение
110
53
0sennijLis
0sennijLis
Лига Сисадминов

Делает ли домашняя лаборатория вас реально лучше в администрировании?⁠⁠

1 месяц назад

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

— Это по работе?

И вы замираете. Потому что нет, не по работе. Вы просто тратите вечер на то, чтобы что-нибудь сломать и потом починить — ради того, чтобы разобраться.

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

Вот что даёт домашняя лаборатория. Она превращает теоретические знания в практические.

Вопрос, который задают все (и на который обычно дают сильно разные ответы)

Я много раз наблюдал, как инженеры мучаются с этим вопросом. Они видят, как кто-то дома собирает сложные стенды, запускает мини-копии продакшн-систем прямо у себя в квартире. И начинают думать: это вообще реально помогает, или тупо дорогое хобби?

Короткий ответ — зависит разумеется от того, что вы с этим делаете.

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

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

Что на самом деле помогает на работе

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

А потом однажды на работе всё рухнуло. Продакшон упал наглухо. 18 часов на телефоне с поддержкой — и никуда не продвинулись. Команда в тупике. Полный ступор.

Этот человек за 8 часов поднял замену. Идеально ли всё работало? Нет. Готово ли было к долгой эксплуатации? Даже близко нет. Но система хотя бы продолжила жить, пока остальные искали нормальное решение.

Навыки, которые реально переносятся в работу

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

Сети перестают быть чем-то непонятным, когда вы пытаетесь разобраться, почему контейнеры видят друг друга, но не выходят в интернет. Хранилища начинают иметь смысл, когда вы забиваете диск под завязку и видите, как всё начинает тормозить. Бэкапы становятся настоящими, когда вы теряете данные, которые вам были дороги.

Это не самые эффектные навыки. Но когда на собеседовании вас спрашивают: «объясните, как работает этот сетевой механизм», и вы отвечаете не по учебнику, а из собственного опыта — это совсем другое ощущение.

Вы учитесь, ломая вещи. Потом чиня их. Потом ломая снова — но уже по-другому.

«Но у меня нет на это денег»

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

Ваша тренировочная площадка может быть:

  • парой виртуалок на ноутбуке,

  • бесплатными облачными сервисами, где можно поиграться,

  • старым компом, пылящимся в шкафу,

  • или просто вашим основным компьютером, когда вы им не пользуетесь.

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

Когда домашние лаборатории не помогают (чтобы быть уж до конца честными)

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

Проблемы, которые вы решаете дома, совсем другие. Дома вы боретесь с дешёвым железом и странными сетевыми глюками. На работе — с политиками безопасности и… другими людьми. (А это порой куда сложнее любой технической задачи.)

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

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

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

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

Что реально работает (по опыту тех, кто это сделал)

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

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

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

Общая черта у всех, кто получил пользу от такого подхода, — они снова и снова что-то строят, ломают и чинят. Вот это и есть практика. Именно она формирует навык.

То, о чём обычно не говорят

Домашние лаборатории дают вам преимущество — но не такое, как вы думаете.

Они не делают вас умнее. Не заменяют годы настоящего опыта. И сами по себе не превращают вас в синьора.

Но они дают вам «повторы». А исследования показывают, что при практическом обучении люди усваивают на 25–60% больше информации, чем при обычных методах.

Когда продакшн падает, и все ищут, кто это починит, вы хотите быть тем, кто спокоен. Потому что вы уже видели что-то подобное. Может, не в таком масштабе, не с такими симптомами — но достаточно близко, чтобы мозг знал, с чего начать.

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

Домашние стенды развивают распознавание паттернов. Инстинкт починки. Понимание, куда смотреть первым делом, когда всё горит.

Ошибки всё равно будут. Паника — тоже. Но у вас будет больше инструментов в голове. А это и есть разница между тем, кто замирает, и тем, кто начинает действовать.

Как начать, не закапываясь в планировании

Вам не нужен план. Вам не нужно что-то покупать. Вам не нужно уже сейчас понимать, что именно вы делаете.

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

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

Ключ — сделать всё достаточно «настоящим», чтобы при поломке вам пришлось действительно чинить, а не просто перезапускать туториал. Думать, читать логи, формулировать гипотезы, проверять их.

Проблема с резюме (которую домашняя лаборатория сама по себе не решит)

Можно собрать идеальный стенд, досконально знать, как всё работает, — и при этом так ни разу и не пройти первичный отбор.

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

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

Что это всё на самом деле значит

Настоящая ценность — не в железе, не в тулзах и даже не в сертификатах.

Ценность — в уверенности, которая приходит, когда вы уже делали что-то своими руками. Когда знаете: да, всё сломается — но у вас есть способ разобраться. Вы уже были в этом месте. Может, не точно в таком, но достаточно близко.

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

Остальные всё ещё ожидают, что всё заработает сразу. Быстрее застревают. Ждут, пока кто-то подскажет ответ.

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

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

Так что идите и сломайте что-нибудь. Нарочно. Посмотрите, что произойдёт. Именно тем и живёт настоящее обучение.

Показать полностью
IT Системное администрирование Сисадмин DevOps Продакшн Исследования Текст Длиннопост
27
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии