golang код скомиленый под linux amd64 из под VirtualBox???
!!!!
ПОЖАЛУЙСТА ОТЗОВИТЕСЬ
ВОПРОС ЖИЗНИ И СМЕРТИ
!!!
у меня внезапно все golang бинарники начали как не в себя жрать ядро
https://monosnap.com/file/97lWTmuXbD9zVQqBpnFtz1B8YVbz8z
https://monosnap.com/file/iJPQK6YeTjVRsn3xziaY9h6LOS9cFi
вопрос в чем?
собирал их подо что?
вопрос в том вдруг кто знает не было ли какие то багов в runtime golang которые аффектят virtualbox ?
бинарники обычные, разными версиями golang собранные на скринах вот kubelet и dockerd капец как жрут ядро раньше такого поведения не было
ну вопрос в первой строке есть ли те, кто запускает свои golang бинарники под VirtualBox
сейчас видимо в качестве проверки попробую какой нибудь демон простенький с github утянуть собранный и посмотреть как он себя ведет
впервые про такое поведение слышу (если честно, впервые слышу вообще, что бы билдили под линукс внутри виртуалбокса, это вообще что-то новенькое, обычно через классический гипервизор линуху запускают, а сейчас то зачем, если wsl существует), возможно что виртуалка некорректно настроено, это самая возможная ошибка. но т.к. virtualbox это ПОЛНОЦЕННАЯ виртуализация машины на уровне железа по сути то гипервизор с гуишкой. так что вряд ли гошный рантайм виноват, мое предположение. надо копаться в настройках, что бы понять, возможно есть что-то вроде тротлинга на сисколы мб, не знаю если честно что конкретно
разницы между билдом под железный линух и под виртуальный нет вообще никакой, и там и там goos=linux goarch=amd64, никогда не поверю, что есть какая-то разница в рантайме
я не билжу под Linux внутри virtualbox я запускаю golang бинарники внутри virtualbox и они ВДРУГ стали жрать ядро как не в себя именно golang бинари причем внешнее для VirtualBox окружение не менялось вроде бы, по крайней мере я не могу вспомнить такого изменения, сам Virtualbox 6.1.16 (последний) пол года не трогали сами машинки поднимаются через Vagrant менялись только сами .box (версии ядра 4.19 и 5.14 из Ubuntu 18.04 и Ubuntu 20.04 соответсвенно) я наткнулся на вот такой тред https://groups.google.com/forum/#!topic/golang-nuts/np70gmtKsaM и оттуда пришел вот сюда https://github.com/golang/go/issues/38023 но это все таки не мое поведение...
ларчик просто открывался bcdedit /set hypervisorlaunchtype off я просто забыл что я включал Hyper-V для того чтобы поиграться с WSL2 ;) wsl --shutdown недостаточно для того чтобы отключить WSL2 последствия а с включеным Hyper-V, virtualbox работает, но очень медленно я по итогу сделал тикет =) но наверное как и большинство тикетов в virtualbox он будет не решенным https://www.virtualbox.org/ticket/20146
А зачем виртуалбокс? Если в hyper-v все пашет.
Потому что виртализацией только один компонент может пользоваться.
=) не все, и я еще не научился сеть под Hyper-V с разными адаптерами настраивать, так как мне надо для лабы...
нет, VirtualBox 6.x может спокойно с Hyper-V включенным работать. у него там Native Execution Mode Для этого но производительность этого NEM не очень и еще вот сайд эффекты есть в виде того что golang runtime эксплуатирует те части ядра так часто. которые под этой комбинацией гипервизоров деградирует по производительности
Насколько помню в hyper-v просто настраивалась сеть. По крайней мере она у меня проще заводилась чем в vb.
И получается, что в режиме Native Execution Mode это всего лишь прослойка над hyper-v. Смысл в ней.
мне надо "много адаптеров" и "бондинг" есть одна старая лаба где "сеть ДЦ" эмулируется
да, конкретно в этом месте проще box поменять чтобы был провайдер для hyperv
я же говорил))))))
Это старая проблема и не сильно зависящая от вб
а, мне просто интересно, а для чего может иметь смысл поднимать условный дебиан или арч на винде? с гуишкой то? на текущий момент wsl поддерживает почти что все, что может пригодиться, даже wayland можно поставить и совершенно спокойно пользоваться графическими приложениями. зачем виртуалбокс?
мож вагрантом пользуется
на винде? да и тем более, вагрант то с всл работает
ну да, разве нет? просто помню что-то про это было в каком-то из обновлений, я если честно с виндой не работаю уже лет 8
на текущий момент нет нормального способа упаковать WSL2 машину через какой нибудь условный Vagrant и класть в git исходники только текстовые файлы
как по мне, если честно, это какая-то (на данный момент) дикость, учитывая, что с wslом пока полной нативной поддержки api линукса нет, но: повторюсь, через wsl УЖЕ можно совершенно спокойно запускать почти любую аппку, в том числе и графические, можно иксы поставить, вйленды, и они будут работать как нативные окошки как и обычные приложения. как паковать? да легко, настрочи пару батников, которые проверяют и если надо настравивают конфигурацию wsl. да, это не так удобно, как чоколадка (хотя не факт, я думаю можно в пакет запихнуть), но так или иначе, это раз в 300 удобней, чем накидывать еще слой виртуалки, чтоб все работало и так и так полунативненько
еще раз, проблема не в том чтобы "запускать". а в том чтобы сделать это "воспроизводимо" как верно подметили... и желательно кроссплатформенно Vagrant + VB это все еще самое переносимое решение для этого
не согласен и готов аргументировать, но этот чат не для отстаивания своего мнения))) главное, что у тебя все получилось, это круто)
ну я перечитал https://docs.docker.com/compose/networking/ да, действительно наверное надо на докер свитчнуться
Обсуждают сегодня