Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] WinXP x64: Explorer.exe забирает всю оперативную память при вызове контекстного меню.

Ответить
Настройки темы
Разное - [решено] WinXP x64: Explorer.exe забирает всю оперативную память при вызове контекстного меню.

Местный радиофизик


Сообщения: 176
Благодарности: 2


Конфигурация

Профиль | Отправить PM | Цитировать


Если выделить несколько тысяч файлов в одной папке (например 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
Благодарности: 2

Профиль | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] WinXP x64: Explorer.exe забирает всю оперативную память при вызове контекстного меню.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] задержка при вызове контекстного меню файлов 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




 
Переход