Всем привет! Правильно ли я понимаю что в отчёте, который можно получить выполнив SpaceTally new printSpaceAnalysis, в итоге графы «inst space» указан суммарный размер занимаемой памяти всеми экземплярами всех классов на текущий момент в образе?
Правильно ли предположение, что этот размер должен быть примерно равен (ну несколько меньше, т. к. есть ещё сама ВМ) занимаемой, данным запущенным образом, оперативной памяти ОС?
Есть ли, что то, что не входит в репорт, но может «жрать» память?
Если «total
inst space» = прим 80000000 байт, но согласно
отчёту утилиты top или htop Pharo потребляет
всё больше и больше памяти (вплоть до
овер 1Гб), при почти не изменяющемся
объёме «total inst space», то что это? Сама виртуальная машина «течёт» или есть таки внутри образа ещё некие процессы могущие занимать всё больше памяти.., или нечто третье? -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Здравствуйте. О какой версии Pharo идет речь? Если еще не релизная Pharo 5, то недавно исправляли проблемы с памятью. Возможно нечто подобное было и в Pharo 4. Причины были подробно описаны здесь https://pharoweekly.wordpress.com/2016/04/12/a-weakleak-story/ 20 апреля 2016 г., 16:06 пользователь Александр <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Спасибо за
информацию. Посмотрю в таком разрезе.
Но вот что
вызывает сомнения. total instances = 1558676 total inst space = 85434244
2. Тот же образ после перезапуска Pharo (потребляемая память 143Мб) total instances = 1730973 total inst space = 118173112
Т.е. во втором случае даже больше (это связано с тем что в качестве БД использовал SandstoneDB, к которой в попытках борьбы за память я дописал удаление по тайм-ауту редко используемых объектов из кеша Sandstone и восстановление их из файлов только по запросу. Но при перезапуске, пока грузится вся база целиком).
Но что же это за «тёмная материя» на долю которой приходится разница между 85Мб объектов в образе и 1296Мб занимаемом Pharo в памяти? среда, 20 апреля 2016 г., 20:21:51 UTC+4 пользователь Denis Kudriashov написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by Genosse
Вопрос
такой... (может дурацкий). -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Думаю, что это невозможно 22 апреля 2016 г., 9:19 пользователь Александр <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by Genosse
А вы можете это воспроизвести на lastest Pharo 5? 21 апреля 2016 г., 6:57 пользователь Александр <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Как вариант попробую. Вдруг, как говорится, всё само рассосётся. Я уже думал в этом ключе, правда как даунгрейт вплоть до Фаро3.
Однако слабо верю в этот манёвр со сменой вм и образа если честно...
Логично предположить, перво-наперво, что проблема в моём приложении, т. к. ранее не замечал за фаро такой проблемы, да и вроде инет не пестрит ими. Меня беспокоит, что может быть я просто не правильно воспринимаю инструментарий Фаро и не вижу какого-то пула объектов, порождаемого ошибками в коде, а они между тем есть? Вот предположим мусор, который не собирается, вообще должен учитываться теми же методами «instanceCount» и т. п.?На что можно ещё обратить внимание, кроме SpaceTally, в Фаро в рамках локализации проблемы с утечкой памяти?
пятница, 22 апреля 2016 г., 16:10:26 UTC+4 пользователь Denis Kudriashov написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
22 апреля 2016 г., 15:25 пользователь Александр <[hidden email]> написал:
Если ваш код генерит исключения, то они нигде копиться не будут. (Конечно будет открываться новый дебагер на каждый error). Но если вы говорите об ошибке приложения, то конечно такое может быть. Например, вы реализовали глобальный кеш неких объектов и из-за ошибки в программе он никогда не очищается. Вот предположим мусор, который не собирается, вообще должен учитываться теми же методами «instanceCount» и т. п.? Чтобы быть уверенным свавьть беред использованием SpaceTally
Но мне кажется SpaceTally сам должен это делать. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Буду пробовать... Благо это только прототип.
Подобных кешей нет (если не считать sandstoneDb, но с ним всё прозрачно, как куриный бульон) И вообще я правильно понимаю, что подобные проблемы вылезли бы в явном виде в увеличении total inst space ? А между тем такого не наблюдаю. Или сформулирую так: Могут ли быть проблемы с памятью из-за кривого кода, которые не выражаются в явном увеличении количества объектов в работающем образе? Или "чёрных ящиков нет", т.е. в образе всё как на ладони, и раз SpaceTally даёт нормальные показатели, значит так оно и есть, следовательно весь задействованный код работает вполне удовлетворительно? //Потому что, если это проблемы ВМ, то понятно я там ничего не сделаю... А если проблемы st кода, это другое дело, можно попотеть -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
22 апреля 2016 г., 19:24 пользователь Александр <[hidden email]> написал:
Да
Думаю такое возможно, только если программа периодически заменяет один массив другим большего размера. Старый удаляется сборщиком и разницы в кол-ве объектов не видно
Да, SpaceTally должен показывать все как есть. И по идее виртуалка из Pharo 4 уже проверена временем, то есть утечка была бы замечена.
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
In reply to this post by Genosse
А какое приложение пишите? если не секрет 22 апреля 2016 г., 19:24 пользователь Александр <[hidden email]> написал:
-- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
пятница, 22 апреля 2016 г., 22:01:21 UTC+4 пользователь Denis Kudriashov написал:
Нет секрета никакого нет. Ничего особо интересного. Как бы система дистанционного обучения. «Как бы» потому что очень упрощённый, примитивный вариант. Собственно он уже написан, хотя, даже на мой не требовательный взгляд, грязновато, но прототип же... Вопрос развития, создания законченного коммерческого продукта пока висит в воздухе и видимо будет висеть ещё долго, если не всегда. Пока клиент,
как бы тестирует его (на деле эксплуатируется
в рамках работы его учебного подразделения).
Всё рецепты, что пока приходят в голову выглядят сомнительными.
На этом пока
идеи закончились. -- http://groups.google.ru/group/sugr --- Вы получили это сообщение, поскольку подписаны на группу "Russian Smalltalk User Group". Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес [hidden email]. Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |