![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] WinXP x64: Explorer.exe забирает всю оперативную память при вызове контекстного меню. |
|
Разное - [решено] WinXP x64: Explorer.exe забирает всю оперативную память при вызове контекстного меню.
|
Местный радиофизик Сообщения: 176 |
Если выделить несколько тысяч файлов в одной папке (например 15-20 тысяч), и нажать правой кнопкой, исчерпывается вся память. Если выделить поскромнее , например, 1000 файлов, то выделяется довольно много памяти процессом Explorer.exe (около 160Гб) Однако, если проигнорировать контекстное меню, память не освобождается. При повторном нажатии, память снова выделяется, но не освобождается. и это повторяется, пока память не исчерпается. Я проверил на трёх разных ОС WinXP 32-bit, там во-первых, выделяется не так много памяти (порядка 6-10 мегабайт на выделенных 7000 файлов), а во-вторых, память возвращается системе. А вот на единственной доступной мне x64 такого не происходит. В безопасном режиме происходит то же самое.
Вот некоторая статистика (первая колонка - количество занятой памяти, согласно taskmgr в мегабайтах), во второй колонке - на каком этапе это количество наблюдается. Система только загрузилась - 541 выделил в папке 1000 файлов и нажал правую кнопку - 704 отказался от контекстного меню - 699 снова правая кнопка - 857 отказался - 853 итд: 0.98Гб 1.13 1.29 видно, что при отказе от контекстного меню освобождается та память, которая освобождается и на 32 битных системах. Но откуда берётся примерно 160 гб памяти на выделение 1000 файлов? Почему эта память не возвращается системе? (файлы совсем маленькие, по 40 килобайт) Я запустил SysinternalsSuite\vmmap.exe и установил, что пямять занимается в private области процесса Explorer.exe иными словами используется функция, скорее всего, VirtualAlloc, но соответствующая ей функция освобождения памяти не вызывается. в интернете попались сообщения о подобном поведении, например, http://forum.ru-board.com/topic.cgi?...62&topic=14157 а также с десяток англоязычных форумов, но, к превеликому сожалению, нигде не был дан ответ, как от этого избавится. Поэтому у меня очень большая просьба к присутствующим, попробовать повторить указанную последовательность действий у себя , на своей 64 битной винде, и отписаться. Я тогда буду знать, что, либо это фича общая, или же только у меня наблюдается. Размер файла windows\explorer.exe у меня 1,346,480 байт. Последовательность действий: выбрать поиск файлов, затем найти все картинки и выделить все файлы (ctrl+A). запусть taskmgr (ctrl+alt+del) посмотреть, сколько занято памяти. Затем нажать правую кнопку. Посмотреть сколько стало памяти, (ну и сколько файлов было выделено). Затем нажать куда-нибудь , отказавшись от контекстного меню. Снова записать, сколько памяти. итого получится четыре числа: 1) Занятая память до нажатия правой кнопки 2) Занятая память после нажатия правой кнопки 3) Занятая память после отказа от контекстного меню 4) колчество выделенных файлов. (вид отображения у меня был список (list) очень надеюсь на помощь гуру. |
|
Отправлено: 16:19, 17-01-2010 |
Местный радиофизик Сообщения: 176
|
Профиль | Отправить PM | Цитировать ну что ж, раз никто не отозвался, пришлось самому решить проблему. Путём отладки установил причину этого:
для того, чтобы устранить этот глюк нужно удалить ветку реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\{C539A15A-3AF9-4c92-B771-50CB78F5C751} это ветка для вызова библиотеки Acronis: C:\program files (x86)\acronis\trueimagehome\tishell.dll (вервия файла 11,0,0,8059) проблема решена. |
Отправлено: 12:10, 20-01-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - [решено] задержка при вызове контекстного меню файлов | twisted1 | Microsoft Windows 2000/XP | 34 | 24-05-2017 11:10 | |
Интернет - Internet Explorer грузит всю оперативную память | MonahNester | Microsoft Windows 2000/XP | 1 | 09-01-2010 08:46 | |
Разное - WinXP Pro x64 SP2 - explorer.exe в system32??? | Qu@dr0 | Microsoft Windows 2000/XP | 3 | 30-09-2009 10:57 | |
Интерфейс - подвисает explorer.exe при открытии контекстного меню по правой кнопке мыши | rizz | Microsoft Windows 2000/XP | 4 | 11-11-2008 21:04 | |
[решено] Ядро не распознает всю оперативную память | Naiad | Железо в Linux | 5 | 03-07-2008 19:00 |
|