Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике.
Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.
Здравствуйте, Artem Korneev, Вы писали:
AK>Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике. AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.
Собрать под 32 бита
Шурыгин Сергей
"Не следует преумножать сущности сверх необходимости" (с) Оккам
Здравствуйте, Sshur, Вы писали:
S>Собрать под 32 бита
Мне надо бы ещё жёстче. Мегабайт 100 оставить сервису.
4 гигабайта на той виртуалке это полный объём. Часть идёт на операционную систему, часть отъедается другими сервисами. На скриншотах я вижу, что приложение не вылезает за пределы примерно 150 мегабайт. Т.е. проблема даже не в том, что приложение сильно прожорливое, а в том, что когда памяти совсем кот наплакал, то свопиться оно начинает в самый неподходящий момент и клиентская часть отваливается. Куда примерно лезть — я уже знаю. Хочется просто воспроизвести всё это, чтоб самому протестировать без плясок с бубном перед тем как возвращать тестерам.
Здравствуйте, Artem Korneev, Вы писали:
AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.
Запустить процесс внутри JobObject с соответствующими ограничениями. Поищите JobLab из примеров, идущих с известной книжкой Рихтера.
Здравствуйте, Слава, Вы писали:
С>Запустить процесс внутри JobObject с соответствующими ограничениями. Поищите JobLab из примеров, идущих с известной книжкой Рихтера.
Мысль интересный, спасибо за подсказку.
Но для данного случая врятли подойдёт — мне желательно запускать это без изменения исходного кода. Там хитропопый запуск одного WCF сервиса из другого.. Мне это дело кажется мутным и я хочу это переделать, но не прямо сейчас — через пару недель релиз, делать какие-то значительные измененния уже некогда.
Здравствуйте, Artem Korneev, Вы писали:
AK>Хочется просто воспроизвести всё это, чтоб самому протестировать без плясок с бубном перед тем как возвращать тестерам.
Или присоединяться отладчиком к запущенной через шедулер задаче (на задачу выставить лимит по памяти), или виртуалка + remote debugging.
Здравствуйте, Artem Korneev, Вы писали:
AK>Но для данного случая врятли подойдёт — мне желательно запускать это без изменения исходного кода. Там хитропопый запуск одного WCF сервиса из другого..
Если не ошибаюсь, то:
Job-ы наследуются, при создании дочерних объектов,
Job-ы можно "навесить" на уже созданный процесс
Здравствуйте, Artem Korneev, Вы писали:
AK>Но для данного случая врятли подойдёт — мне желательно запускать это без изменения исходного кода. Там хитропопый запуск одного WCF сервиса из другого.. Мне это дело кажется мутным и я хочу это переделать, но не прямо сейчас — через пару недель релиз, делать какие-то значительные измененния уже некогда.
Там не требуется изменение исходного кода. Внутри Job можно запустить любой процесс, или засунуть уже существующий, порождённые напрямую процессы будут наследовать Job и его ограничения.
Здравствуйте, Artem Korneev, Вы писали:
AK>Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике. AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.
А в чем проблема поднять свою такую виртуалку с remote debugger?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, Михаил Романов, Вы писали:
AK>>Но для данного случая врятли подойдёт — мне желательно запускать это без изменения исходного кода. Там хитропопый запуск одного WCF сервиса из другого.. МР>Если не ошибаюсь, то: МР>
МР>Job-ы наследуются, при создании дочерних объектов, МР>Job-ы можно "навесить" на уже созданный процесс МР>МР>Job Objects
Здравствуйте, Artem Korneev, Вы писали:
AK>Тестеры сегодня сообщили о баге, который воспроизводится только на виртуалке с 4 гигабайтами памяти. Сейчас думаю, как воспроизвести в отладчике. AK>Есть ли какие-то простые способы ограничить объём доступной процессу RAM? Про своп — понятно. Пусть свопится. Хочется для начала воспроизвести это, не прыгая с виртуалками.