Отладка с ограничением по объёму памяти
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 10.05.17 19:07
Оценка:
Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике.
Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.
С уважением, Artem Korneev.
Re: Отладка с ограничением по объёму памяти
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 10.05.17 19:17
Оценка: 2 (1) :)
Здравствуйте, Artem Korneev, Вы писали:

AK>Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике.

AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.

Собрать под 32 бита
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[2]: Отладка с ограничением по объёму памяти
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 10.05.17 19:53
Оценка:
Здравствуйте, Sshur, Вы писали:

S>Собрать под 32 бита


Мне надо бы ещё жёстче. Мегабайт 100 оставить сервису.
4 гигабайта на той виртуалке это полный объём. Часть идёт на операционную систему, часть отъедается другими сервисами. На скриншотах я вижу, что приложение не вылезает за пределы примерно 150 мегабайт. Т.е. проблема даже не в том, что приложение сильно прожорливое, а в том, что когда памяти совсем кот наплакал, то свопиться оно начинает в самый неподходящий момент и клиентская часть отваливается. Куда примерно лезть — я уже знаю. Хочется просто воспроизвести всё это, чтоб самому протестировать без плясок с бубном перед тем как возвращать тестерам.
С уважением, Artem Korneev.
Re: Отладка с ограничением по объёму памяти
От: Слава  
Дата: 10.05.17 20:40
Оценка: 12 (2) +2
Здравствуйте, Artem Korneev, Вы писали:

AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.


Запустить процесс внутри JobObject с соответствующими ограничениями. Поищите JobLab из примеров, идущих с известной книжкой Рихтера.
Re[2]: Отладка с ограничением по объёму памяти
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 11.05.17 03:33
Оценка:
Здравствуйте, Слава, Вы писали:

С>Запустить процесс внутри JobObject с соответствующими ограничениями. Поищите JobLab из примеров, идущих с известной книжкой Рихтера.


Мысль интересный, спасибо за подсказку.
Но для данного случая врятли подойдёт — мне желательно запускать это без изменения исходного кода. Там хитропопый запуск одного WCF сервиса из другого.. Мне это дело кажется мутным и я хочу это переделать, но не прямо сейчас — через пару недель релиз, делать какие-то значительные измененния уже некогда.
С уважением, Artem Korneev.
Re[3]: Отладка с ограничением по объёму памяти
От: Sinix  
Дата: 11.05.17 04:12
Оценка: +1
Здравствуйте, Artem Korneev, Вы писали:

AK>Хочется просто воспроизвести всё это, чтоб самому протестировать без плясок с бубном перед тем как возвращать тестерам.


Или присоединяться отладчиком к запущенной через шедулер задаче (на задачу выставить лимит по памяти), или виртуалка + remote debugging.
Re[3]: Отладка с ограничением по объёму памяти
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 11.05.17 07:58
Оценка: 8 (2)
Здравствуйте, Artem Korneev, Вы писали:

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

Если не ошибаюсь, то:
Job Objects
Re[3]: Отладка с ограничением по объёму памяти
От: Слава  
Дата: 11.05.17 09:08
Оценка: 4 (1)
Здравствуйте, Artem Korneev, Вы писали:

AK>Но для данного случая врятли подойдёт — мне желательно запускать это без изменения исходного кода. Там хитропопый запуск одного WCF сервиса из другого.. Мне это дело кажется мутным и я хочу это переделать, но не прямо сейчас — через пару недель релиз, делать какие-то значительные измененния уже некогда.


Там не требуется изменение исходного кода. Внутри Job можно запустить любой процесс, или засунуть уже существующий, порождённые напрямую процессы будут наследовать Job и его ограничения.
Re: Отладка с ограничением по объёму памяти
От: Evgeny.Panasyuk Россия  
Дата: 14.05.17 18:06
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Хочется для начала воспроизвести это, не прыгая с виртуалками.


Как альтернативный вариант можно грубой силой: запускаешь dummy-паразитный процесс который выедает вычисляемый излишек памяти
Re: Отладка с ограничением по объёму памяти
От: TK Лес кывт.рф
Дата: 15.05.17 18:04
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике.

AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.

А в чем проблема поднять свою такую виртуалку с remote debugger?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Отладка с ограничением по объёму памяти
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 17.05.17 18:05
Оценка:
Здравствуйте, TK, Вы писали:

TK>А в чем проблема поднять свою такую виртуалку с remote debugger?


Ну, в основном, в трудоёмкости процесса.
С уважением, Artem Korneev.
Re[4]: Отладка с ограничением по объёму памяти
От: zou  
Дата: 17.05.17 22:29
Оценка: 8 (2)
Здравствуйте, Михаил Романов, Вы писали:

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

МР>Если не ошибаюсь, то:
МР> МР>Job Objects

Вот утилита, предназначенная для этого:
https://github.com/lowleveldesign/process-governor

Сам не пробовал, правда.
Re: Отладка с ограничением по объёму памяти
От: Pavel Dvorkin Россия  
Дата: 19.05.17 09:18
Оценка: 82 (4)
Здравствуйте, Artem Korneev, Вы писали:

AK>Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике.

AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.

https://www.codeproject.com/Articles/685826/Set-process-memory-limit-with-Process-Governor
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.