Прекрати что ты делаешь ахаха прекрати
Ахаха, HotSpot, что ты делаешь, прекрати!
Как вы наверняка уже знаете, скоро в Питере пройдёт очередная конференция Joker. Я собираюсь сделать на ней доклад о том, как расследовать поведение JVM, кажущееся поначалу таинственным и загадочным. Этот пост — тизер, предназначенный для того, чтобы дать вам возможность понять, чего ждать от доклада.
Предположим, что к вам вдруг приходит информация о проблеме: при сборке мусора отображаются причины «Last Ditch Collection» и «No GC», и поиск в интернете не даёт ничего вразумительного. К счастью, HotSpot практически полностью собирается из OpenJDK, и потому, как минимум в теории, мы можем найти ответы на все интересующие нас вопросы прямо в исходниках. Чем мы и займёмся!
Last Ditch Collection
Вооружившись исходным кодом OpenJDK, поищем интересующую нас строку:
Похоже, что это оно! Почитав метод, в котором находится вызов, и в особенности — его комментарии, мы довольно быстро понимаем, что происходит.
Звучит правдоподобно, но стоит научиться стабильно это воспроизводить. Если верить написанному выше, то при активном замусоривании metaspace мы должны увидеть как минимум одну сборку с причиной «Last ditch collection»:
Если это запустить с параметрами по умолчанию, то ждать придётся довольно долго. Но мы можем уменьшить размер metaspace и получить результат быстрее:
В большинстве случаев мы увидим более, чем одну сборку с причиной «last ditch collection». Это вполне ожидаемо, поскольку иначе бы от них не было толку, и вряд ли бы эту фичу вообще реализовали.
Кстати, здесь мы смотрели на исходники Java 9, но логика last ditch collection не менялась очень давно, так что тут беспокоиться не о чем.
No GC
Перейдём к «No GC». Капитан подсказывает нам, что разработчики HotSpot вряд ли бы назвали так нормальную причину сборки мусора. Да и вообще, единственный случай, в котором мы, по логике, должны такое увидеть — это если мы успеем запустить jstat раньше, чем произойдёт хоть одна сборка мусора:
Или если он сделает проверку, когда сборщик мусора не активен:
Так что, если это было обнаружено в другой ситуации, то это, должно быть, баг. А поскольку когда мы разбирали last ditch collection, таких странностей не наблюдалось, то есть шанс того, что он уже исправлен. Проявим немного оптимизма и поищем все подходящие коммиты:
Ага! Похоже, что проблему действительно пофиксили в коммите номер 2097, ещё в феврале 2013 года. Заглянув в файл hotspot_version, мы обнаруживаем, что последняя HotSpot, в которой должна наблюдаться проблема — это 21.0-b01. У меня под рукой была Java 6 с версией HotSpot 20.45-b01:
При запуске нашего примера с котиками, немедленно получается следующий результат:
Это довольно близко, но не совсем то, что мы искали. Однако, при более детальном изучении патча становится очевидным, что нужно просто использовать другой сборщик мусора. Добавление -XX:+UseG1GC даст нам нужный результат:
Успех! Кстати, тот человек, который первым ответит, почему тут какие-то знаки вопроса, и что именно должно навести нас на использование G1, получит приглашение на Joker Unconference 😉 SerCe уже дал правильный ответ.
Послесловие
Итак, только что, на основании одного-единственного твита и используя базовые утилиты командной строки, мы ответили на не гуглящийся вопрос, нашли стародавний баг в HotSpot, смогли благодаря этому оценить сверху версию JVM, и даже узнали, какой использовался сборщик мусора.
Яндекс, что ты делаешь ахаха, прекрати!
IT-юмор
3.3K постов 45.3K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору
Одно время я заинтересовался продукцией автоваза и смотрел ролики на ютубе с обзорами вест, электроверсией лады гранта. в итоге мне на ютубе стали показывать рекламу доширака!
Не сказал бы, что это ну очень дорого для такой вещи. Многие покупают детям планшеты-телефоны и прочую электронику по похожим ценам. Эх, если бы у меня была такая тачка в детстве. я был бы просто счастлив =)
Забивал однажды в поиск признаки болезни (позже само прошло). Стала показываться реклама ритуальных услуг.
хм. Я бы взял своему сыну. Если бы он у меня был.
Родители говорят, что я несколько месяцев выпрашивал у них настоящий пионерский барабан, который стоил чуть ли не 30-40 рублей (конец восьмидесятых). Забросил на следующий же день после покупки)
Так-то да
А ведь в этом комментарии много смысла.
p.s. Я чутка прифигел, когда в городе в котором родился. Увидел как лизгинку вокруг машины в людном месте танцуют. Все начинается с малого. А в итоге начнут учить как нужно жить.
#comment_219326138
Мне как всегда
Тут многие мечтают зайти в бар и сказать эту фразу, которая подчеркивает, что ты здесь свой человек.
Езжу на дряхлом эскудике. Расход масла 1л. на 1000км. Между верхней и нижней риской щупа 1,3 литра масла. Всегда меняю масло в одном сервисе. Доливаю там же. Короче, пока я подъезжаю к ним меня видно в камеры. Останавливаюсь. Выхожу, открываю капот. А сзади уже стоит человек с воронкой и кувшином с 1,3 шелл 10в40. Я киваю. Он заливает. Я отдаю деньги. Уходит. Уезжаю.
И ни каких «мне как обычно в это время».
Разбирал шкаф дедушки, нашел такие вещи
Кому интересно кто мой дед, то после распределения в институте его отправили в деревню учителем физкультуры. Он набрал ребят на факультатив по фехтованию и начал им преподавать. Из одиннадцати ребят трое стали олимпийскими чемпионами и несколько парней стали чемпионами мира и СССР.
Ай-я-я-я-я-я-яй, в 2021 эта песня неполиткорректна
Семейные отношения
Ответ на пост «Она не работает!»
Битва славян
Неоспоримый факт
О сколько нам открытий чудных.
Вот так случайно залезешь на Википедию и случайно выяснишь, что автор словаря русского языка В. И. Даль вскрывал тело Пушкина и писал протокол вскрытия.
Вкл-Выкл «Умной ленты»
Оказывается
Мем смешной, а ситуация страшная
Казак года))
Супер-мега-корпоратив
Сестра сегодня позвонила и рассказала про выгоднейшее предложение! Их компания пригласила всех сотрудников на корпоратив, особенно очень усердствует территориальный директор, который хочет воочию всех увидеть.
Всего то надо сдать 3.500 рублей с человека за аренду зала, алкоголь с собой, ресторан в городе Домодедово. На мой резонный вопрос-а, собственно, что оплачивает компания? Сестра ответила, что скорее всего будут канапе, как на прошлом корпоративе, по итогу которыми все отравились. Шикарное предложение)))
Время летит слишком быстро…
Ответ на пост «Учителя, рассказавшего о зарплате, обвиняют в экстремизме»
Я доказал, что нельзя выжить на зарплату учителя, и меня обвинили в экстремизме.
Я тот самый преподаватель, кандидат наук, который стал бороться за повышение окладов врачей и учителей. Чтобы привлечь внимание к тому, как на самом деле живут учителя, я поставил эксперимент и стал жить на одну зарплату простого кандидата наук. Отработав месяц с голосовой нагрузкой в 7 уроков в день, я получил 14.600 на руки. На питание, проживание и лечение служебной собаки МВД выделяется примерно 14.000 рублей. Как Вы видите, государство очень ценит кандидатов наук. Государство очень ценит врачей. Государство очень ценит учителей.
Есть городские учителя, у которых нет огорода, поэтому я перестал есть продукты, выращенные самостоятельно.
Чтобы не было сомнений, Прикрепляю свой расчетный листок за октябрь.
Я объявил о начале эксперимента 23 ноября. Уже на следующий день, 24 ноября, началась подготовка к обвинению в экстремизме. Меня обвинили в пропаганде фашизма за фотографию к антифашистской статье, написанной два года назад.
Повторю, на следующий день после начала эксперимента по попытке выжить на зарплату учителя, на меня поступил донос, и меня объявили экстремистом за фотографию к антифашистской статье. Статью я написал в 2020 году, когда появились люди, поддерживающие осквернение могил. Дело в том, что пока меня не было, могилу моего деда разрушили и сделали на этом месте карьер по добыче песка. Кости моих предков и сотен жителей хутора не эксгумировали и фактически выбросили на дороги. Скриншот поста
Отмечу, что уже давно действует закон, который разрешает показывать свастику, если при этом нет пропаганды фашизма. По распоряжению Путина законы изменили, и теперь людей не сажают за постер фильма «17 мгновений весны», не обвиняют в экстремизме за фотографии с Парада Победы. Не отправляют к террористам и за снимок с приветствиями фашистов или за фотографии могил, оскверненных свастиками.
Уже давно правоохранители выясняют не сам факт размещения фотографии со свастикой, а причину, по которой она размещена. Контекст. Смысл. Ведь иначе потенциальными правонарушителями становятся музеи, фронтовые фотографы, актеры, дипломаты, политики, историки, журналисты, блогеры, авторы школьных учебников, учителя!
Об этом знают все, кроме «курских борцов» с экстремизмом. Я не верю, что юрист не слышал про такое понятие как «субъективная сторона» (цель размещения фотографии). Я не верю, что они не слышали об изменения в законодательстве. Что это: профнепригодность или желание посадить человека, требующего повысить оклады? Мы можем только догадываться.
Чем опасен мой эксперимент? Почему последовала такая жесткая реакция – попытка обвинить антифашиста в пропаганде фашизма?
В Курской области на каждого учителя выделяется по 32 тысячи, а на каждого врача, кажется, по 56 тысяч. Но гарантированные оклады чаще всего меньше МРОТ. У меня оклад чуть больше 9 тысяч. Видел высказывания врачей, у которых оклад составляет 5 тысяч рублей.
Нам гарантирован только МРОТ. Все остальное – милость администрации, которая локальными актами распределяет средства так, как посчитают нужным. На вопрос к бухгалтерии «Почему так мало?», поступает однотипный ответ – «У нас директор определяет, сколько кому выдавать, а мы просто рассчитываем».
Итак, 23 ноября я начал эксперимент.
Я попытался прожить на одну зарплату, не пользуясь самостоятельно выращенными продуктами.
Как вы можете видеть по моему упитанному лицу, я не умираю с голода. Сад, огород, хозяйство и каждодневная работа помогают вкусно питаться, но вот уже покупка новых штанов становится сложностью.
Ученые считают, что одна 19-часовая ставка учителя, с учетом дополнительных обязанностей, равна 8-часовому дню. 1,3 ставки – это 4 урока ежедневно и всего 10 часов каждодневной работы.
Я отработал октябрь с фактической нагрузкой в две ставки: каждый день по 7 уроков голосовой нагрузки. С учетом дополнительных работ – 16 часов в сутки.
Учителя сильные, учителя выдержат.
Но моя зарплата за месяц составила 14.600 рублей на руки. На питание, проживание и лечение служебной собаки МВД выделяется 14.000 рублей. Государство очень ценит кандидатов наук.
Уровень абсолютной нищеты в России по данным ООН – это жизнь, когда человек каждый день тратит 5,5 долларов США. По сегодняшнему курсу это 405 рублей. У меня оставалось 480: я богаче абсолютного нищего.
Но учитель не просто выживает, он должен соответствовать определенным требованиям.
Давайте вместе считать траты учителя.
Ситуация поменялась, поэтому цифры обновились.
Я заплатил налоги – 5,1 т.р (полторы тысячи потом вернули; оказалось, они ошиблись при начислении).
Отложил деньги на оплату света и газа – это 2.300.
Потом подсчитал количество бензина, необходимого для поездки на работу. 10 километров до работы x на 22 рабочих дня. Получается, что нужно 55 литров бензина, а это 4.100 рублей. Траты выросли, так как нас вернули на очный формат работы.
Я получил 14.600, обязательных для преподавателя трат – 11.160 рублей.
Остается 3.440 рублей на месяц, чтобы жить, питаться, покупать одежду и обувь, купить мыло, шампунь, бритву и одеколон, подстричься, сходить в кино и театр, отложить деньги на летний отдых и благотворительность.
Сумма обязательных расходов составила 14.980р, и она превысила доход обычного кандидата наук, отработавшего месяц с фактической нагрузкой в две ставки (34 часа). Напомню, предельно допустимая для учителей нагрузка – 36 часов в неделю.
Педагоги знают, что это невыносимо много: люди очень быстро выгорают, начинают болеть, покидать профессию.
По подсчетам РАНХиГС в России уже не хватает 250 тысяч учителей. Правительство говорит о том, что пора завозить «гастарбайтеров» из ближневосточных стран, чтобы они работали врачами и учителями.
Правительство не хочет повышать оклады, чтобы вернуть людей в профессию.
Эксперимент показал, что в Курской области невозможно прожить на гарантированную законом зарплату обычного кандидата наук.
Я должен идти на поклон к микрофинансовым грабителям и просить денег на еду. Я должен надеяться, что в следующем месяце моя зарплата будет больше.
«Надежды юношей питают, отраду старцам придают».
Я еще не потерял надежду.
Но МВД уже объявило меня экстремистом.
Сказка на ночь
Дорогие друзья поддержите пожалуйста мою подругу, которая выразительно читает сказки на ночь и занимается развитием детей. Это ее третья сказка на ютуб канале, в воскресенье планируем выпустить образовательный урок для малышей
Rammstein. Их шестеро. Всегда
Будим еб*т
Пиздец какой-то, невозможно вечером пройти по улице, кругом они. Они ведут себя как дикие животные, мусорят (идут от магазина до общаги, жрут, кидают весь мусор на землю по пути), пристают к людям, провоцируя на драку, хамят. Они ссут на деревья вдоль улицы, не стесняясь, даже стараясь поймать взгляд прохожей женщины и чуть ли не членом помахать. Их дети заполонили детские площадки и ведут себя не многим лучше родителей, какие-то зверёныши.
Страшно выходить из дома одной, постоянно кто-нибудь привяжется, а ходят они толпами. Становится страшно жить в своём родном городе.
У меня много хороших знакомых разных национальностей, хреново я относилась только к цыганам. Я осуждала тех, кто судит человека по национальному признаку. А теперь я считаю, что нужно всех «лиц без национальности» собрать и выдворить: и плохих, и хороших, пускай хорошие помогают плохим стать лучше. Дома.
Это не ваше, у вас денег не хватит!
Мы живем в небольшом мкд на 3 подъезда, всего 36 квартир. Квартиру купил еще на этапе строительства, заехали сразу как было возможно, ремонт был от застройщиков. Первым «коренным» жителем была моя дочь, которая родилась в том же году когда мы заселились. Соседи попались замечательные и даже сейчас после 14 лет у нас есть некое единство, можно сказать даже дружба. А вот почему!
Наступил рай, я мог спокойно спать не слушая ржущих баб (самые громкие и мерзкие звуки именно от них) и не испытывать стресса выходя каждый день на разборки, так как я дядя большой, но не бессмертный. Мы с соседями стали заниматься двором, понимать, что это наша земля, это наш комфорт. Несколько лет подряд мы выигрывали конкурс на звание лучшего двора города.
Психология крабов, реально я сам не верил, но видимо режим за несколько десятков лет, просто выжег чувство собственности у людей, оскотинил их.
Со временем чуть улеглось. Да были мелкие стычки, например, если случайно (после выезда авто ворота закрываются с паузой) к нам заходят дети или мамы с детьми их никто не трогает, они играют и потом уходят. Надо сказать, что игрушки, всякие совочки и т.д. общие, летом у нас стоят палатки и/или крепости из всякой ветоши, что дети настроят. Но бывают где-то 25% «гостей» которые начинают все ломать или их мамаши начинают выгонять наших детей с детской площадки. Ну тогда все, выпроваживаешь и слышишь тоже самое, что слышал первый год после установки забора.
Ахаха, HotSpot, что ты делаешь, прекрати!
Как вы наверняка уже знаете, скоро в Питере пройдёт очередная конференция Joker. Я собираюсь сделать на ней доклад о том, как расследовать поведение JVM, кажущееся поначалу таинственным и загадочным. Этот пост — тизер, предназначенный для того, чтобы дать вам возможность понять, чего ждать от доклада.
Предположим, что к вам вдруг приходит информация о проблеме: при сборке мусора отображаются причины «Last Ditch Collection» и «No GC», и поиск в интернете не даёт ничего вразумительного. К счастью, HotSpot практически полностью собирается из OpenJDK, и потому, как минимум в теории, мы можем найти ответы на все интересующие нас вопросы прямо в исходниках. Чем мы и займёмся!
Last Ditch Collection
Вооружившись исходным кодом OpenJDK, поищем интересующую нас строку:
Похоже, что это оно! Почитав метод, в котором находится вызов, и в особенности — его комментарии, мы довольно быстро понимаем, что происходит.
Звучит правдоподобно, но стоит научиться стабильно это воспроизводить. Если верить написанному выше, то при активном замусоривании metaspace мы должны увидеть как минимум одну сборку с причиной «Last ditch collection»:
Если это запустить с параметрами по умолчанию, то ждать придётся довольно долго. Но мы можем уменьшить размер metaspace и получить результат быстрее:
В большинстве случаев мы увидим более, чем одну сборку с причиной «last ditch collection». Это вполне ожидаемо, поскольку иначе бы от них не было толку, и вряд ли бы эту фичу вообще реализовали.
Кстати, здесь мы смотрели на исходники Java 9, но логика last ditch collection не менялась очень давно, так что тут беспокоиться не о чем.
No GC
Перейдём к «No GC». Капитан подсказывает нам, что разработчики HotSpot вряд ли бы назвали так нормальную причину сборки мусора. Да и вообще, единственный случай, в котором мы, по логике, должны такое увидеть — это если мы успеем запустить jstat раньше, чем произойдёт хоть одна сборка мусора:
Или если он сделает проверку, когда сборщик мусора не активен:
Так что, если это было обнаружено в другой ситуации, то это, должно быть, баг. А поскольку когда мы разбирали last ditch collection, таких странностей не наблюдалось, то есть шанс того, что он уже исправлен. Проявим немного оптимизма и поищем все подходящие коммиты:
Ага! Похоже, что проблему действительно пофиксили в коммите номер 2097, ещё в феврале 2013 года. Заглянув в файл hotspot_version, мы обнаруживаем, что последняя HotSpot, в которой должна наблюдаться проблема — это 21.0-b01. У меня под рукой была Java 6 с версией HotSpot 20.45-b01:
При запуске нашего примера с котиками, немедленно получается следующий результат:
Это довольно близко, но не совсем то, что мы искали. Однако, при более детальном изучении патча становится очевидным, что нужно просто использовать другой сборщик мусора. Добавление -XX:+UseG1GC даст нам нужный результат:
Успех! Кстати, тот человек, который первым ответит, почему тут какие-то знаки вопроса, и что именно должно навести нас на использование G1, получит приглашение на Joker Unconference 😉 SerCe уже дал правильный ответ.
Послесловие
Итак, только что, на основании одного-единственного твита и используя базовые утилиты командной строки, мы ответили на не гуглящийся вопрос, нашли стародавний баг в HotSpot, смогли благодаря этому оценить сверху версию JVM, и даже узнали, какой использовался сборщик мусора.
Откуда пошла фраза «. что ты делаешь, ахаха, прекрати»?
Вместо трёх точек подставляются разные слова.
Откуда фраза «. что ты делаешь, ахаха, прекрати»?
Дело в том, что конкретно, откуда всё началось, я не знаю, говорят, что пару лет назад в социальных сетях появился какой-то демотиватор с Анджелиной Джоли, на котором и была эта надпись, точнее, именно так её кто-то перевёл.
А сейчас в интернетах полно совершенно разных демотиваторов, где фигурирует эта фраза.
Вот несколько:
Я думаю что эта фраза пошла с сеновалов, куда наивные деревенские простушки уединялись со своими кавалерами для чисто платонического (по их ожиданиям) общения. Ну а когда платонические девичьи ожидания во мраке сеновала разбивались о юношеский гормональный всплеск, и наступал черед этой фразы, в которой точки менялись на разные мужские имена.
Я тоже слышала, что всё началось с Анджелины Джоли, которая смеялась на фото и, мол, так и говорила: «Ты такой смешной, прекрати…».
Ну а умельцы переделали фразу в разнообразные фото демотиваторы.
Мемы 2012 года
что ты делаешь, ахаха, прекрати это известная фраза которая не так довно была популярной. Часто использовалась в контексте:
Также много много всяких рисунков-демотиваторов на тему наплодили:
что ты делаешь ахаха прекрати оригинал где же искать, и откудого пошло? Принято считать что от А. Джоли
Вообще, буквосочетание «ахаха» изначально использовалось для плача еще во Франции в 1712 году Жан-Батистом в книге «Теория и практика садоводства» (оригинал звучал так: A ha ha).
А сам мем «Ахаха, прекрати» предположительно появился из-за этой картинки (именно картинки, не текста):
Это значит, что кто-то хочет кого-то запугать.