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

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

Я настоятельно рекомендую использовать данные флаги для своего сервера. Они помогут сохранить сервер ПОСЛЕДОВАТЕЛЬНО работающим без больших скачков при сборе мусора. Процессор может быть немного мощней, но в целом ваш сервер будет с более надежным и стабильным TPS [Пр.И.: Ticks Per Second].

Флаги для использования при запуске JVM

Используйте эти флаги точно, меняя только Xmx и Xms. Эти флаги работают и масштабируются в соответствии с любым размером памяти, даже 500MB).

Игрок сделал 6000 ФПС в Майнкрафте


~$ java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Dusing.aikars.flags=mcflags.emc.gs -jar yourserver.jar

Рекомендуемое серверное программное обеспечение

Если вы еще не используете Paper, предельно улучшенную версию Spigot, вам действительно нужно переключаться! Paper – это гораздо более быстрая версия Spigot с большим количеством улучшений производительности. Кроме того, она поставляется с исправлениями ошибок и эксплойтов, множеством новых функций, а также кучей новых API для разработчиков, чтобы они могли более эффективно работать с плагинами.

Paper – это лишь капля от Spigot, для которого каждый плагин, написанный для Bukkit/Spigot должен работать абсолютно также.

  • Загрузить Paper
  • Документация к Paper
  • Discord канал Paper
  • /r/admincraft пост на тему “Почему вы должны переходить на Paper” для более подробной информации.

Paper обновляется практически также быстро, как и сам Minecraft!

Рекомендуемая память

Я рекомендую использовать до 10 ГБ, независимо от того, сколько игроков у вас играет! Если вы не можете позволить себе 10 Гб памяти, дайте максимально столько, сколько сможете, но убедитесь, что вы и операционной системе оставили немного памяти тоже. G1GC работает лучше с большим количеством памяти.

Переход свыше 10 ГБ может начать становиться субъективным, но должен быть нормальным. Хотя, довольно много серверов действительно требуют больше 10 ГБ.

Если вы работаете с памятью 10 ГБ или меньше для Minecraft, вам не следует настраивать данные параметры.

Потребности в памяти старшего поколения

Если у вас большое количество игроков и вы используете более 10 ГБ памяти, и вы видите старые всплески лагововых шипов, вы, возможно, захотите настроить следующее:

Как поиграть в Minecraft на любом калькуляторе | Оптимизация Майнкрафта для слабых пк | Даунгрейд

  • -XX:G1MaxNewSizePercent=60
  • -XX:G1NewSizePercent=40

Техническое пояснение флагов

  1. -Xms соответствует -Xmx – Почему: Вы никогда не должны запускать свой сервер в том случае, если -Xmx может загрузить систему вплодь до Out of Memory. От вашего сервера всегда следует ожидать, что он будет использовать весь -Xmx!
    Затем вы должны убедиться, что операционная система имеет дополнительную память сверх этого Xmx для вещей отличного от уровня MC/OS. Поэтому никогда не запускайте MC с настройками -Xmx, которые вы не можете поддержать, если Java может использовать все это.
    Теперь это означает, что если -Xms ниже, чем -Xmx — У ВАС НЕ ИСПОЛЬЗОВАННАЯ ПАМЯТЬ! Неиспользованная память — это пустая трата памяти. G1 (и, вероятно, даже CMS до определенного порога, но я только говорю то, в чем я уверен) работает лучше с большим количеством памяти, которое она дает. G1 адаптивно выбирает, сколько памяти уделять каждой области, чтобы оптимизировать время паузы.
    Если у вас больше памяти, чем нужно для достижения оптимального времени паузы, G1 просто втолкнет эту дополнительную память в старое создание и это не причинит вам вреда (это может быть и не так для CMS, но так же, как и для G1).
    Фундаментальная идея улучшения поведения GC заключается в том, чтобы недолговечные объекты умирали молодыми и никогда не разрастались.
    Чем больше памяти у G1, тем больше вы будете уверены в том, что объекты не будут преждевременно разрастаться в старое поколение.
    G1 работает иначе, чем предыдущие коллекторы, и способен более эффективно обрабатывать большие кучи. Если ему не нужна предоставленная память, он не будет ею пользоваться. Весь движок работает по-другому и не страдает от слишком больших куч, и это общепринятая в отрасли информация, которая при G1 держит Xms и Xmx одинаковыми!
  2. UnlockExperimentalVMOptions – необходим для некоторых из нижеперечисленных опций
  3. TargetSurvivorRatio: Уверен, вы все привыкли видеть это предложение. Хорошие новости! Вообще-то, это хороший флаг. Эта настройка управляет тем, сколько пространства «Survivor» можно использовать перед расширением. Если survivor становится сильно заполнен, вещи начинают продвигаться в старое поколение.
    Причина этого заключается в том, чтобы иметь возможность обрабатывать всплески выделения памяти, однако скорость выделения MC в большинстве случаев довольно стабильна (стабильно высока. ), и когда она стабильна, ее можно безопасно поднять, чтобы избежать преждевременных скачков.
  4. G1NewSize Percent: Это важные. В CMS и других генерациях, настройка нового генератора приводит к ФИКСИРОВАННОМУ РАЗМЕРУ Нового генератора и обычно осуществляется посредством явной настройки размера с помощью -Xmn.
    С G1 все гораздо лучше! Теперь вы можете задать процент от общего желаемого диапазона для нового генератора.
    С этими настройками мы говорим G1 не использовать 5% по умолчанию для нового генератора, а вместо этого дать ему 50% как минимум!
    Minecraft имеет чрезвычайно высокую скорость выделения памяти, которая составляет не менее 800 Мегабайт в секунду на сервере из 30 игроков! И это в основном короткоживущие объекты (Позиция блока).
    Теперь, это означает, что MC действительно нуждается в большем внимании к новому поколению, чтобы иметь возможность даже поддерживать эту скорость распределения. Если ваш новый генератор слишком мал, вы будете запускать коллекции нового поколения 1-2+ раз в секунду, что действительно плохо.
    У вас будет так много пауз, что TPS рискует пострадать, и сервер не сможет поспевать за стоимостью GC.
    Тогда объедините тот факт, что объекты теперь будут быстрее продвигаться, в результате чего ваше старое поколение будет расти быстрее.
    Учитывая большее количество объектов нового поколения, мы можем замедлить интервалы между коллекциями молодого поколения, в результате чего у короткоживущих объектов появляется больше времени для молодой смерти, и в целом, более эффективное поведение GC.
    Если вы бегаете с большей кучей (15 ГБ+), вы можете захотеть снизить минимум до скажем 40%, но не опускаться ниже 30%. Это позволит G1 иметь больше власти в своих собственных предположениях.
  5. G1MixedGCLiveThresholdPercent: Управляет тем, когда включать Mixed GC в коллекцию молодого GC, поддерживая порядок в старой коллекции, не делая обычную коллекцию старых GC. Если ваша память меньше этого процента, старое поколение даже не будет включено в «смешанные» коллекции. Смешанные коллекции не такие тяжелые, как полная старая коллекция, поэтому небольшие пошаговые чистки старых коллекций позволяют не тратить много времени на использование памяти.
  6. AlwaysPreTouch: Данная опция настраивает память и резервирует ее при запуске процесса, обеспечивая ее целостность, повышая эффективность ее работы. Это повышает скорость доступа к памяти операционной системы.
  7. +DisableExplicitGC: Многие плагины думают, что они знают, как управлять памятью, и пытаются вызвать сборщик мусора. Плагины, которые делают это запускает сборщик мусора полностью, вызывая массивную задержку и резкий всплеск. Этот флаг отключает плагины от попыток сделать это, защищая вас от их плохого кода [:D].
  8. MaxGCPauseMillis=100: Эта настройка контролирует, сколько памяти используется между Минимальным и Максимальными диапазонами, указанными для вашей новой генерации. Это «цель», как долго вы хотите, чтобы ваш сервер останавливался для сборов данных. 100 равно 2 тикам, с максимальной потерей 2 тиков. Это приведет к короткому падению TPS, однако, Spigot и Paper оба могут компенсировать это падение мгновенно, что означает, что это не будет иметь значимого влияния на ваш TPS. 100 мс это меньше, чем игроки могут заметить.
  9. +ParallelRefProcEnabled: Оптимизирует процесс GC для использования нескольких потоков.
Читайте также:  Как создать сервак в Майнкрафте для друзей

Использование больших страниц

Также для больших страниц [Пр.И.: Large Pages] – еще более важно использовать -Xms = -Xmx! Для больших страниц должна быть указана вся память, иначе вы можете остаться без выигрыша. Эта память все равно не будет использоваться операционной системой, так что используйте ее.
Также используйте эти флаги (Metaspace – только для Java 8, не используйте его для Java 7):

-XX:+UseLargePagesInMetaspace

Хочу сказать спасибо статье «G1GC Fundamentals: Lessons from Taming Garbage Collection» за помощь в укреплении и улучшении моего понимания флагов!

Changelog

  • 04.10.2018: Удален AggressiveOpts и InitiatingHeapOccupancyPercent. Aggressive был удален в Java 11, и IHOP может навредить производительности в Java 11. Вы должны удалить их и для Java 8.
  • 18.08.2018:
  1. Отрегулированно MixedGCLiveThreshold до 35 (с 50) чтобы обеспечить запуск смешанных GC заранее.
  2. Добавлены примечания о рекомендованном использовании 10 ГБ памяти.
  3. Добавлена дополнительная документация по флагам
  • 24.05.2018: Добавлен -XX:+ParallelRefProcEnabled

Источник: www.hashtap.com

Проблема с FPS

Фотография

  • Пользователи
  • Сообщений: 6
  • Написал 18.04.2014 — 14:57

    Вообщем здравствуйте.Я тут решил с друзьями поиграть в «Industrial Crat 2». На версии 1.6.4. И я сам сделал сборку и всё работает, НО, есть сильные лаги каждые 5-10 секунд. Но только каждые 5-10 секунд.Так FPS всегда 201.

    И я проследил за F3, и понял что это из-за того что лимит памяти начинает быстро набираться и потом когда доходит до максимума сбрасывает.Я бы хотел что бы кто то объяснил мне как увеличить лимит с 400 до максимума.И ещё, 64bit может увеличить FPS в Minecraft’е? И если да, то я потеряю какие либо данные со своего компьютера если я поменяю на 64 с 32?Спасибо заранее!

    #2 Cyxapuk

  • Главные модераторы
  • Сообщений: 8706
    • Ник в Minecraft:
      Meegoo

    Написал 18.04.2014 — 15:07

    На 32х битной джаве максимальное кол-во памяти, которое можно выделить джаве — 1.5 гига, которых довольно мало для игры с модами. Но если их немного, можешь посмотреть в FAQ, как увеличить. Возможно будет хватать.Если же все таки будет мало, то тогда единственный вариант — ставить 64х битную винду.

    Читайте также:  Как настроить Майнкрафт с оптифайном

    Так как 32х битную винду невозможно обновить до 64х битной, то придется как минимум форматировать системный раздел (вообщем диск C). Естественно все, что на нем сохранено, удалится. Но никто не мешает скопировать всю необходимую информацию на другой раздел, которые можно не форматировать.

    V6xCzSN.png

    #3 DarkSmail

  • Пользователи
  • Сообщений: 3597
  • Написал 18.04.2014 — 15:15

    1. установи OptiFine2. Пуск>Панель управления>Java(мелкие значки)>Java>Viev. >»Runtime parameters». Нажимаем на пустое поле под ним и вводим туда: -xmx1024m (или 2048m).

    #4 Cyxapuk

  • Главные модераторы
  • Сообщений: 8706
    • Ник в Minecraft:
      Meegoo

    Написал 18.04.2014 — 15:16

    1. Не поможет. У меня самого такая же проблема. Имею всего 4 гига оперативки, из которых 50% всегда заняты. Майнкрафту остается 2 гига. Через несколько часов игры памяти становится мало и сборщик мусора начинает запускаться намного чаще, и, => грузить систему.2.

    Лучше так не делать, а запускать конкретно майнкрафт с такими параметрами. Тем более лаунчер позволяет.

    V6xCzSN.png

    #5 DarkSmail

  • Пользователи
  • Сообщений: 3597
  • Написал 18.04.2014 — 15:19

    1. Не поможет. У меня самого такая же проблема. Имею всего 4 гига оперативки, из которых 50% всегда заняты. Майнкрафту остается 2 гига. И через несколько часов памяти становится мало и сборщик мусора начинает запускаться намного чаще, и => грузить систему. 2. Лучше так не делать, а запускать конкретно майнкрафт с такими параметрами.

    Тем более лаунчер позволяет.

    Ну да, вообще — так правильней.

    #6 LucaGnome

  • Пользователи
  • Сообщений: 6
  • Написал 19.04.2014 — 00:21

    Спасибо!
    Я пробовал Оптифайн, хуже делал.
    Джава выдает ошибку если пытаюсь сменить с 1 на 2, 3, 4 КГ.
    Без модов всё отлично идет.

    Я писал до этого два ответа, но они видимо не дошли..

    И ещё, если я переустановлю виндовс на 64, пропадёт ли диск H? Я просто очень редко переустанавливал виндовс. Спасибо.

    Добавлено спустя 1 час 45 минут 33 секунды:
    И да, можете помочь с изменением макс. количества памяти для мк?
    Когда Я пытаюсь через лаунчер, он мне выдаёт следующее:

    «Error: Could not create the Java Virtual Machine.
    Error: A fatal exception hac occurred. Program will exit.»

    И название окна: «Java Virtual Machine Launcher.»

    Я правда, не знаю как это сделать.

    #7 Cyxapuk

  • Главные модераторы
  • Сообщений: 8706
    • Ник в Minecraft:
      Meegoo

    Написал 19.04.2014 — 08:41

    Насчет 2, 3 и 4 гигов. Я же написал, что для 32х бит максимум — 1.5 гига. Попробуй -Xmx1500MЕсли ты при установке этот раздел H сам не удалишь, то не пропадет. Возможно буква поменяется, но данные никуда не денутся.Да и вообще, там при установке показываются все существующие разделы. При желании можно форматировать их, удалять, менять распределение места.

    При удалении, естественно, все, что находилось на этом разделе удаляется. Системный раздел лучше форматировать, во избежание разных проблем.PS. Можешь попробовать поставить любую винду на виртуалку (тот же VirtualBox) и посмотреть, как это реализовано.

    V6xCzSN.png

    #8 LucaGnome

  • Пользователи
  • Сообщений: 6
  • Написал 19.04.2014 — 12:29

    А, прости, не заметил.
    Прости, просто винду очень давно и только 1 раз переустанавливал, и не помню уже, что как.

    Ты имеешь в виду диск С перед установкой форматировать, или это будет предложено во время?

    Спасибо ещё раз.

    Добавлено спустя 2 минуты 5 секунд:
    P.S. — Ошибку также выдаёт с 1500 М.

    Добавлено спустя 2 минуты 18 секунд:
    P.S.S. — Каким-то образом изменил на 933, помогло, теперь ресет идёт где-то на 45% процентах, спасибо, теперь можно играть. Всё равно поменяю на 64, потому-что 32 для игр не очень удобно. Спасибо.

    #9 Cyxapuk

  • Главные модераторы
  • Сообщений: 8706
    • Ник в Minecraft:
      Meegoo

    Написал 19.04.2014 — 13:43

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

    V6xCzSN.png

    #10 LucaGnome

  • Пользователи
  • Сообщений: 6
  • Написал 19.04.2014 — 13:50

    Хорошо, учту.Огромное спасибо ещё раз. На текущий момент всё помогло. После установки наверно отпишусь о результатах (или нет). Спасибо ещё раз! : )

    #11 LucaGnome

  • Пользователи
  • Сообщений: 6
  • Написал 24.04.2014 — 16:00

    Вообщем установил 64 битную Java, теперь лимита на -Xms вообще нет, я поставил на 100G пока что, что-бы точно лагов не было. И вообще их больше нет, ни в каких играх почти. Спасибо ещё раз! Тему можно закрывать.(Windows 64 + Java 64 = Решило проблему)

    #12 Cyxapuk

  • Главные модераторы
  • Сообщений: 8706
    • Ник в Minecraft:
      Meegoo

    Написал 24.04.2014 — 16:06

    Конкретно максимального значения не знаю, но примерно больше в 2^32 или по другому в 4 миллиарда раз.Хотя на практике там в несколько раз меньше, но в любом случае хватит еще надолго.

    V6xCzSN.png

    #13 LucaGnome

  • Пользователи
  • Сообщений: 6
  • Написал 25.04.2014 — 12:52

    Теперь вообще выше 500 не идёт, то-есть если и есть сбросы, то они не значительны и не влияют на ФПС.

    Количество пользователей, читающих эту тему: 0

    0 пользователей, 0 гостей, 0 анонимных

    Ответить цитируемым сообщениям Очистить

    1. Minecrafting.ru
    2. → Обсуждение игры
    3. → Технические проблемы

    • RSS поток
    • Русский (RU)
    • English (USA)
    • Русский (RU)
    Читайте также:  Как сделать скейтборд в Майнкрафт
  • Помощь
  • Источник: minecrafting.ru

    Фризит майнкрафт при резком сбросе озу

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

    Лучший ответ

    Действительно, такая проблема есть. Заключается она в срабатывании так называемого «сборщика мусора». Чтобы понять, что это такое, и как бороться с этой проблемой, надо разобраться с тем, как работает сборщик.

    Чтобы процессору обработать какие-то данные, их сначала надо загрузить в оперативную память. В процессе вычислений процессор по частям подгружает эти данные в свой кэш, а затем возвращает результат в ту же оперативную память. При этом, старые данные никуда не деваются и продолжают храниться в ОЗУ. Отсюда появляется рост занимаемой игрой памяти с течением времени, который можно наблюдать в меню отладки, или более наглядно при помощи мода Memory Usage Screen.

    Когда количество занятой оперативной памяти достигает определённого предела, срабатывает сборщик мусора. Это алгоритм, который отличает старые хранящиеся в ОЗУ отработавшие данные от необходимых программе в данный момент и производит их удаление. Этот процесс всегда характеризуется полной остановкой всех вычислений, из-за чего игра и зависает.

    Интересно, что чем меньше выделен объём ОЗУ, тем быстрее он забивается остатками вычислений (входными данными для процессора), однако при низких значениях выделенной памяти ͟п͟р͟о͟л͟а͟г͟а͟ ͟н͟е͟ ͟п͟р͟о͟и͟с͟х͟о͟д͟и͟т.
    Почему же? Дело в том, что чем меньше ОЗУ выделено для JVM, тем быстрее сборщик мусора его обрабатывает. То есть, сборщик мусора работает ͟ч͟а͟щ͟е͟,͟ ͟н͟о͟ ͟б͟ы͟с͟т͟р͟е͟е. При больших же значениях выделенной памяти сборщик мусора обрабатывает весь объём ОЗУ редко, но долго, создавая характерное зависание.

    Именно поэтому нужно соблюсти идеальный баланс между выделенной ОЗУ и временем его чистки. Но важно помнить, что когда ОЗУ выделено настолько мало, что Майнкрафт не может просчитать тик сервера без очистки мусора, игра начинает сильно виснуть и вылетает.

    ͟Ч͟т͟о͟ ͟с͟ ͟э͟т͟и͟м͟ ͟д͟е͟л͟а͟т͟ь͟?

    Путей решения несколько:
    • Покупка более быстрой оперативки
    Чем быстрее скорость чтения-записи, тем быстрее программа и сборщик мусора может с ней взаимодействовать.
    • Баланс между объёмом выделенной ОЗУ и временем зависаний
    Просто попробуйте уменьшить количество выделенной памяти.
    • Запуск игры с Java 16
    В новых версиях Java сборщики мусора работают гораздо быстрее, поэтому зачастую достаточно просто запустить игру на Java 16.
    • Подбор более эффективного сборщика мусора
    Это оптимальный вариант, так как алгоритмов сборки мусора существует несколько. Вот самые популярные:
    ▶ G1 – Стандартный сборщик мусора, очищает память довольно часто, но лишь небольшими порциями. Это позволяет игре не зависать, однако при быстром накоплении мусора G1 может не справиться.
    ▶ Shenandoah – Эффективно очищает всю память при заполнении ≈80% выделенного объёма, не вызывая пролаги. Сам пользуюсь им.
    ▶ ConcMarkSweep – Использует многопоточный алгоритм очистки, благодаря чему скорость чистки оперативной памяти кратно повышается.

    Настройка запуска игры с определённым сборщиком мусора довольно проста – нужно лишь указать его в параметрах запуска JVM (примеры параметров JVM в комментариях). В официальном лаунчере это делается здесь:

    А TLauncher Legacy и так по умолчанию использует ConcMarkSweepGC, нужно просто удостовериться, что в настройках стоит эта галочка:

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

    Александр ИвановПросветленный (32912) 1 год назад

    Пара слов о сборщиках мусора. Каждый из них обладает своим «поведением» и подходом к работе с ОЗУ. Постараюсь дать ссылки на каждый сборщик по отдельности. Общая статья по сборщикам и их параметрам: [Доступные сборщики мусора в Java
    ]

    [G1] (аргументы по умолчанию)
    -Xmx3G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M

    Александр ИвановПросветленный (32912) 1 год назад

    [Shenandoah]
    -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:MaxGCPauseMillis=50

    [ConcMarkSweep] (Не работает в Java 16)
    -Xmx4G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M

    [Z]
    Важно: при малом объёме выделенной ОЗУ (2Гб) сборщик не справлялся со своей задачей, вызывая ежесекундные зависания игры.
    -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseZGC
    Можно добавить -XX:ConcGCThreads=4 (количество процессов для сбора мусора)

    Александр Иванов, красавчик, всё хорошо расписал, мне очень понравилось, но у меня краш при любых аргументах( Не знаешь в чём дело? Вылезает Error: Could not create the Java Virtual Machine. Error: Afatal exception has occurred. Program will exit.

    Александр ИвановПросветленный (32912) 1 год назад
    Статья по ZGC: [тык]
    Михаил МихинУченик (106) 5 месяцев назад

    Чтобы сборщик мусора Shenandoah работал на 1.12.2, нужно скачать версию java 8 с сайта RedHat — https://developers.redhat.com/products/openjdk/download
    Затем, в лаунчере указать путь к этой джаве и такие параметры запуска:
    -Xmx4G -Xms4G -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+AlwaysPreTouch -XX:+DisableExplicitGC

    Для TLauncher должно быть так:

    Александр Иванов Просветленный (32912) Михаил Михин, на TL ничего настраивать не нужно, он уже использует наиболее подходящие для системы аргументы. А с тем фейком, что стоит у тебя, лучше вообще ничего не настраивать, а сразу систему сносить, чтобы его вирусню вычистить.

    Источник: otvet.mail.ru