1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Помогите решить проблему с утечкой оперативной памяти при игре в Л2.

Discussion in 'Архив' started by Итигул, Nov 14, 2014.

Thread Status:
Not open for further replies.
  1. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    проблема возникла месяца 2 назад. пытался решить разными способами (чистки реестров, переустановка винды 2 раза, установка программ, оптимизируюищих работу оперативной памяти) - все безрезультатно. браузер опера (пробовал разные версии). 8 гб озу и настроенный на несистемном диске своп-файл 8гб. при конекте на сервер и начале игры в л2 начинает неумолимо сокращаться количество свободной оперативной памяти. после достижения 8гб, игра зависает и комп вместе с ней, после ребута все начинается сначала. при этом в процессах суммарная задействованная память не превышает 4гб. помогите решить проблему утечки оперативной памяти. заранее спасибо.
     
  2. ВашаСовесть

    ВашаСовесть Innova Group

    Joined:
    11.02.10
    Messages:
    15,761
    Likes Received:
    921
    la2 не может занять больше 3 гб оперативной памяти впринципе
     
  3. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    и все же утечка происходит. а по количеству гигов - просто несколько окон
    .
     
  4. ВашаСовесть

    ВашаСовесть Innova Group

    Joined:
    11.02.10
    Messages:
    15,761
    Likes Received:
    921

    покажите, лучше скринами где вы засекаете память и что она растет
     
  5. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    протестил. при игре в л2 оперативки хватает только на 35-45 мин. вот прикладываю подробные скрины[​IMG][/url]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
     
  6. Dvain

    Dvain User

    Joined:
    05.02.10
    Messages:
    158
    Likes Received:
    18
    чет я не увидел где на скринах процесс l2.exe жрет оперативку.
     
  7. Tr0oy

    Tr0oy User

    Joined:
    14.10.11
    Messages:
    428
    Likes Received:
    38
    а когда она превышает этот лимит, вываливается критом? я знаю, что это спецификация api виндовса, что процесс х32 не может занимать более 2 гб виртуального адресного пространства по умолчанию, но если приложение специально скопмилировано с ключем /largeaddressaware , то оно может потреблять до 3 гб памяти.

    а можно на компьютере только с windows x32 пользователя разрешить х32 приложениям выделять более 2 гб памяти, для этого делают так:
    1. жмем win+r, откроется cmd консоль
    2. пишем в нее следующую команду: bcdedit /set increaseuserva 3072 , жмем enter
    3. перезагружаем комп.
    чтобы вернуть как все было, нужно в эту же cmd консоль ввести запись: bcdedit /deletevalue increaseuserva

    а что делать, когда и этого клиенту л2 мало и предположить, что все таки в клиенте присутствуют утечки и память не полностью освобождается?

    по скринам у автора темы виндовс х64, а в нем данная процедура неактуальна вовсе.

    ps скрины перепутаны и идут не по порядку, видно по часам системы.
     
    Last edited by a moderator: Nov 16, 2014
  8. ВашаСовесть

    ВашаСовесть Innova Group

    Joined:
    11.02.10
    Messages:
    15,761
    Likes Received:
    921

    1 не путайте автора у него x64, все это у него не актуально
    2 это не особоенность api, а особенность предоставления памяти процессу системой
     
  9. ВашаСовесть

    ВашаСовесть Innova Group

    Joined:
    11.02.10
    Messages:
    15,761
    Likes Received:
    921
    автору, на одном из скринов линейка занимает туть больше 1гб
     
  10. Tr0oy

    Tr0oy User

    Joined:
    14.10.11
    Messages:
    428
    Likes Received:
    38
    ну да, это особенность менеджера вирт. памяти :)

    и немного дзена из вики: поддержка памяти свыше 4гб в windows
     
  11. AlexanderKalinin

    AlexanderKalinin User

    Joined:
    28.12.13
    Messages:
    41
    Likes Received:
    7
    lineage ii, по моим наблюдениям, поедает не более 2 гб. возможен, например, такой вариант: у вас есть на компьютере есть какая-либо программа, которая влияет на работу фроста (система защиты lineage), который и вызывает утечку памяти.

    если есть желание, можно попробовать определить, что именно расходует память:
    1. ставим windows 8 x64
    2. отключаем виртуальную память (при 8 гб она не нужна, избавляемся от тормозов windows и износа hdd)
    3. заходим в менеджер задач, переключаемся оттуда на средство анализа производительности.
    4. запускаем игру, следим, какой процесс, и связанные с ним файлы, делают что-то нехорошее.
    5. делаем выводы.

    собственно, установка windows 8 именно ради этого удобного средства контроля за ресурсами системы, которое конкретно показывает какой процесс, какой файл, сколько места в памяти занимает в данный момент.
     
    Last edited by a moderator: Nov 16, 2014
  12. Tr0oy

    Tr0oy User

    Joined:
    14.10.11
    Messages:
    428
    Likes Received:
    38
    не рекомендую отрубать файл подкачки, некоторые проги его используют и принудительно с ним работают, например photoshop.
     
  13. AlexanderKalinin

    AlexanderKalinin User

    Joined:
    28.12.13
    Messages:
    41
    Likes Received:
    7
    слабо верится, если честно. к сожалению, не могу это проверить.

    могу однозначно сказать, что использовать windows 8 нужно только без файла подкачки, так как механизм работы с виртуальной памятью там несколько кривой, и получается, что виртуальная память используется даже тогда, когда хватает реальной, отсюда тормоза там, где их быть не должно: при открытии документов, новых вкладок браузера и прочее.

    следует заметить, что виртуальная память именно задумана, как продолжение реальной памяти на случай, когда последней не хватает. скорость обращения к hdd в тысячи раз медленнее, чем к ram, отсюда и тормоза, и износ hdd, особенно в случае твёрдотельного накопителя.
     
    Last edited by a moderator: Nov 16, 2014
  14. Tr0oy

    Tr0oy User

    Joined:
    14.10.11
    Messages:
    428
    Likes Received:
    38
  15. AlexanderKalinin

    AlexanderKalinin User

    Joined:
    28.12.13
    Messages:
    41
    Likes Received:
    7
    термин "виртуальная память", как он употребляется в статье, кажется, местами указывает на *линейное адресное пространство* процесса, что, конечно правильно, но это совсем не то, что называется "виртуальной памятью" в настройках windows. в настройках под этим понятием имеется ввиду всего лишь использование места на жёстком диске в дополнение к реальной памяти.

    поправьте меня, если я ошибаюсь.
    когда процесс запущен, его память представлена непрерывным диапазоном адресов, так называемым линейным адресным пространством. при этом в реальности процесс может располагаться в памяти не непрерывно, а кусками. каждая страница виртуальной памяти процесса соответствует странице реальной памяти. когда процесс обращается к следующей странице виртуальной памяти, система запрашивает страницу из реальной. теперь, если у нас есть своп, то может произойти ошибка доступа: страница сохранена на жёстком диске. в таком случае, система загружает эту страницу с жёсткого диска в реальную память, и повторяет операцию (что требует, конечно, времени). однако, если у нас нет свопа, то ошибки обращения к странице реальной памяти быть не может (только, если у нас не закончилась реальная память).

    автор ошибается, и весьма во многом, поэтому он не может определить причину своих ошибок (система более суммы частей).
     
    Last edited by a moderator: Nov 16, 2014
  16. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    факт в том, что не запускалась более ни одна программа, кроме л2. и пока работала игра, оперативная память была исчерпана, что месяца 2 назад не наблюдалось:(
     
  17. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    возможно не по порядку, так как дочка маленькая сидела на коленях, когда я их ваял... но можно по системным часам их выстроить в ряд. при всем при этом явно видно что оперативная память неуклонно уменьшается.
     
  18. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    можно, попробовать и на 8 винде, но меня уже утомили поиски и вечные переставления винды, где гарантия, что при 8ой винде все будет ок?
     
  19. Итигул

    Итигул User

    Joined:
    14.11.14
    Messages:
    7
    Likes Received:
    0
    да я не компьютерный гений, поэтому пытаюсь разобраться в проблеме посредством людей, знающих больше меня. поэтому буду очень признателен если будет конкретный совет, а не размышления, что и как называется и откуда это пошло... не хочу быть грубым... просто посоветуйте что-либо конкретное.
     
  20. AlexanderKalinin

    AlexanderKalinin User

    Joined:
    28.12.13
    Messages:
    41
    Likes Received:
    7
    хорошо, конкретный совет:
    1. отключите виртуальную память;
    2. перезагрузите;
    3. завершите следующие процессы: mzrambooster.exe, hale.exe, find.exe, bump.exe
    4. откройте диспетчер задач на процессах
    5. запускайте lineage ii, попутно наблюдая за цифрами в этом окне.
    возможно, кое-что прояснится.

    p.s. для чистоты эксперимента оперу тоже закройте после запуска игры.
    p.p.s. отключение виртуальной памяти для того, чтобы бы могли увидеть более реальные цифры потребления памяти.

    p.p.p.s. комп и игра зависают только при запуске двух и более окон, или при одном окне тоже бывает?
     
    Last edited by a moderator: Nov 16, 2014
Thread Status:
Not open for further replies.