@proGO

Страница 1187 из 1674
Olzhas
29.01.2018
08:17:46
@steppefox как дела в яндексе?

Eldar
29.01.2018
08:28:59
@steppefox как дела в яндексе?
Привет, потихоньку) Вот, Golang'ом увлекся, есть микросервисы которые надо поддерживать ;D

Olzhas
29.01.2018
08:38:04
В Девкз по тебе скучают

Google
Michael
29.01.2018
08:38:37
y++

Eldar
29.01.2018
08:39:02
Я думал вы там какой-нибудь yalang пилите
Ну камон, не утрируй) Есть норм команды с новым стеком, Python 3, Golang, на фронте много проектов на React. Многие сервисы теперь обязательно должны быть в контейнерах.

Olzhas
29.01.2018
08:40:48
Too toxic channel =/
Так задумано

Roman
29.01.2018
08:52:36
Теперь можно писать на go для openwrt/mips

Андрей
29.01.2018
09:02:52
народ, вопрос уже был помню, и все же к нему вернусь : как отслеживать ошибки подобного вида



в том то и прикол, что указатель не туда

Alexei
29.01.2018
09:05:06
defer recover() ?

Андрей
29.01.2018
09:05:52
вероятно defer

рековеров нет

Olzhas
29.01.2018
09:07:19
вероятно defer
https://blog.golang.org/defer-panic-and-recover

Alex
29.01.2018
09:36:58
Добрый день. В команду нужны Golang разработчики (middle/senior) на постоянной основе. Зарплата: $1500-5000 + бонусы. Работа в офисе (Киев), либо удаленно.

Google
Человек
29.01.2018
09:59:37
отлогировал, просмотрел, результатов 0. Изменил задачу, добавил url адрес, url адрес ссылки на файл, получаеться "sometimesalone222 (?:https?:\/\/)?(?:[\w\.]+)\.(?:[a-z]{2,6}\.?)(?:\/[\w\.]*)*\/?" не находит, беру "sometimesalone222 https?:\/\/\S+" отлично находит, значит проблема мне кажется в самом regexp. Чудес не бывает, я это понимаю.

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

Nikolay
29.01.2018
10:32:24
Если ось убивает приложуху (killed), как только память кончается, это 100% протечка? Не могу понять работает ли гц и вообще в каком месте искать.

Человек
29.01.2018
10:35:10
Ты же про Go ?

Если ось убивает приложуху (killed), как только память кончается, это 100% протечка? Не могу понять работает ли гц и вообще в каком месте искать.

Vladimir
29.01.2018
10:36:17
Включай профилирование и смотри что там в heap

В смысле может приложение by design хочет много памяти, которой у тебя нет

Nikolay
29.01.2018
10:37:08
Если кину картинку норм?

В смысле может приложение by design хочет много памяти, которой у тебя нет
по идее нет, одновременно максимум мегов на 200-300, а доходит до гига с лишним

Ты же про Go ?
ну да, мы же в чатике про гоу)

Человек
29.01.2018
10:39:12
Ну тут не только про Go говорят)

ну да, мы же в чатике про гоу)

Vladimir
29.01.2018
10:39:29
по идее нет, одновременно максимум мегов на 200-300, а доходит до гига с лишним
Ну тебе никто ничего не ответит пока ты не расскажешь больше про свой код и нагрузку

Человек
29.01.2018
10:41:14
А вообще если по теме то ОС не должна убивать приложение Go, память сама распределяеться при garbage collection и доходит до лимита (планки), сам тестировал на WIndows XP, WIndows 7, Windows 10. Если ты про линукс то хрен его знает.

Nikolay
29.01.2018
10:41:57
В общем: 1-ый воркер тащит JSON по HTTP и сбрасывает слайсами нужную инфу во вторую рутину по каналу 2-ой воркер принимает инфу, пишет в кэш Кэш - мапа защищеная мьютексом, сохраняет ключ в файл каждые N обновлений ключа или M секунд. За раз, максимум на 10-20 мегабайт данных может прийти, и то это потолок.

Человек
29.01.2018
10:41:59
Только если ты сам принудительно не выделяешь память.

Скинь пастебином совй код.

Valeriy
29.01.2018
10:42:49
постебин

- постебем твой код недорого

Google
Nikolay
29.01.2018
10:43:04
я могу скрином профиль скинуть)))

Subbotin
29.01.2018
10:43:12
Nikolay
29.01.2018
10:44:58
Сними дамп хипа через энное время, когда оно разжиреет
это в самом конце, перед выходом... или лучше сделать где-то в середине?

Vladimir
29.01.2018
10:45:22
это в самом конце, перед выходом... или лучше сделать где-то в середине?
лучше сделать когда оно жрет слишком много (с твоей точки зрения)

но до прихода ООМ

Subbotin
29.01.2018
10:46:02
не всегда, если политика безопасности того требует
эм. ну эм. еслии мы добрались до того как память кончилась, то вариантов кроме мочить кого-нить нету

Vladimir
29.01.2018
10:46:16
@nuqzz тут у тебя просто ничего криминального - кэш 78МБ сожрал, а остальное это декодирование из json'а

и всякие буферы

Человек
29.01.2018
10:47:24
неа, современные ос как раз таки лимитируют потребляемую память приложениями Go, ОС не должна убивать процесс, а должна или лимитировать память или осовобождать под другие приложении

Alexander
29.01.2018
10:47:24
эм. ну эм. еслии мы добрались до того как память кончилась, то вариантов кроме мочить кого-нить нету
есть же swap, когда оператива забивается ось начинает выгружать в своп, начинаются жуткие тормоза)))

Человек
29.01.2018
10:47:24
эм. а где в го задаются внутренние лимиты памяти? если приложение жрёт память как не в себя, то ось просто обязана его замочить

Nikolay
29.01.2018
10:47:26
значит не там дамп снял, ок попробую еще разок

Alexander
29.01.2018
10:48:49
а сколько оперативы на сервере?

Nikolay
29.01.2018
10:49:17
Я не понимаю, когда GC срабатывает, если он не отдаёт системе, то получается, он должен как-то переиспользовать что он освободил.

Nikolay
29.01.2018
10:49:49
а сколько оперативы на сервере?
1Гб, своп не подключен

Vladimir
29.01.2018
10:49:53
@fuckingstreamsnipe есть понятие overcommit'а, которое портит эту идеальную картину мира

Google
Alexander
29.01.2018
10:50:01
а че так мало?)

Vladimir
29.01.2018
10:50:16
@nuqzz логика зависит от версии Го в том числе

Admin
ERROR: S client not available

Nikolay
29.01.2018
10:51:19
а можно как-то затрейсить когда он срабатывает?

Vladimir
29.01.2018
10:52:23
а можно как-то затрейсить когда он срабатывает?
https://dave.cheney.net/2015/11/29/a-whirlwind-tour-of-gos-runtime-environment-variables

GODEBUG=gctrace=1 your_program

он на каждый запуск гц будет писать инфу о работе гц

Nikolay
29.01.2018
10:55:06
Спасибо, попробую

Vladimir
29.01.2018
10:55:26
@nuqzz наиболее вероятно что ты где-то что-то забываешь подчищать

и у тебя копится мусор

например забываешь закрывать body соединений

или еще что-то такое

или из кэша старые значения забываешь удалять

и он у тебя вечно растет

Nikolay
29.01.2018
10:57:21
не, на кэше лимит по количеству ключей, если он полный, при добавлении нового значения самое старое сохраняется и delete() делаю

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

https://making.pusher.com/golangs-real-time-gc-in-theory-and-practice/

вот кстати, анимашка тут занятная) мож кому пригодится

Vladimir
29.01.2018
11:06:55
Google
Vladimir
29.01.2018
11:07:15
как раз фактически делает то что ты реализовал, тока написан давно и сам чистит фончиком

Vladimir
29.01.2018
11:09:19
? о с тестами даже, почитаю на досуге
вообще у этого товарища очень много мелких полезных либок для Го

https://github.com/dgryski/go-perfbook/blob/master/performance.md и вот такая штука есть еще (он ее сейчас пишет)

Александр
29.01.2018
11:16:41
Народ, а есть кто из Минска? Сколько у вас вилка там на гоу-middle? Мне просто интересно

Anton
29.01.2018
11:22:05
я не думаю что есть разница

спроси в juno они постоянно хантят

я думаю у них средняя по больнице

Александр
29.01.2018
11:26:38
а juno это канал или что?

Vlad
29.01.2018
11:27:00
Это компания такая

Sergey
29.01.2018
11:34:56
Juno достаточно крупные и это не совсем ориентир

Александр
29.01.2018
11:36:39
ну блин, я хотел приблизительно вилку. Нафиг мне точно

Alex
29.01.2018
12:20:08
Задачка загружать файлы на ftp. Стандартной либы достаточно или чето покруче есть?

Страница 1187 из 1674