Замерзает приложение
От: Serg65535 Россия  
Дата: 06.07.11 10:01
Оценка:
Добрый день, коллеги!

Возможно я плохо искал, но точно такой проблемы поиском пока не нашёл.

Есть достаточно большое корпоративное приложение на C#. Пока в нём активно работают, всё идёт хорошо. Однако, стоит юзеру отойти от рабочего места минут на 10-15, оставив на экране приложение, как оно перестаёт отвечать на действия пользователя, становясь, усилиями Windows "белым". Если не снимать задачу, а подождать секунд 20-30, всё размерзает и продолжает работать нормально. Никаких фоновых потоков, циклов и таймеров не работает. Пока грешу на автоматическую уборку мусора при отсутствии действий пользователя.

Кто-нибудь сталкивался с таким делом, и куда копать чтобы это победить? А то юзеры жалуется постоянно, и снимают задачу.


Заранее спасибо.
интерфейс зависание .net c#
Re: Замерзает приложение
От: Kalina9001  
Дата: 06.07.11 10:20
Оценка:
Винт заводится?
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>
Re: Замерзает приложение
От: adontz Грузия http://adontz.wordpress.com/
Дата: 06.07.11 10:27
Оценка:
Здравствуйте, Serg65535, Вы писали:

Если памяти много жрёт, то может просто свопится. Как уже правильно заметили, обратите внимание на активность винчестера.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Замерзает приложение
От: Pavel Dvorkin Россия  
Дата: 06.07.11 11:19
Оценка:
Здравствуйте, Serg65535, Вы писали:

S>Есть достаточно большое корпоративное приложение на C#. Пока в нём активно работают, всё идёт хорошо. Однако, стоит юзеру отойти от рабочего места минут на 10-15, оставив на экране приложение, как оно перестаёт отвечать на действия пользователя, становясь, усилиями Windows "белым". Если не снимать задачу, а подождать секунд 20-30, всё размерзает и продолжает работать нормально. Никаких фоновых потоков, циклов и таймеров не работает.


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


Вряд ли. Сборка мусора не зависит от действий пользователя.

S>Кто-нибудь сталкивался с таким делом, и куда копать чтобы это победить? А то юзеры жалуется постоянно, и снимают задачу.


Впечатление такое, что страницы процесса были выгружены в своп и сейчас идет их подкачка из свопа. Вообще-то это нормальный процесс, это верно для любых приложений, но не на 20-30 секунд. Такое время может быть только если процесс уж очень активно потребляет память.

Запусти Task Manager и посмотри, сколько процентов времени CPU занимает этот процесс во время "размораживания". Также посмотри его дисковую активность, как уже отметил adontz. И еще посмотри потребности по памяти (Memory — Working Set, Memory — Commit Size) a) в момент ухода юзера и b)в момент его возвращения.

Еще одна гипотеза. Не переходит ли банально компьютер в спящий режим после 10-15 минут отсутствия юзера ? Попробуй запретить ему это и посмотри , что будет.
With best regards
Pavel Dvorkin
Re[2]: Замерзает приложение
От: Serg65535 Россия  
Дата: 06.07.11 12:16
Оценка:
Здравствуйте, Kalina9001, Вы писали:

K>Винт заводится?


Это первое, что проверяли — машины работают на полную катушку, никаких уходов в энергосбережение, никаких отключений винтов.
Более того, юзеры даже не отходят порой, а просто работают в чём-то другом, наше приложение просто не активно. Видимо, Windows его очень уж глубоко убирает в своп так, что оно потом крайне медленно оживает.
Re[2]: Замерзает приложение
От: Serg65535 Россия  
Дата: 06.07.11 12:23
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Впечатление такое, что страницы процесса были выгружены в своп и сейчас идет их подкачка из свопа. Вообще-то это нормальный процесс, это верно для любых приложений, но не на 20-30 секунд. Такое время может быть только если процесс уж очень активно потребляет память.


Очень на то похоже. Среднее потребление памяти процессом по таскменеджеру — 60-70 Мб. Для сравнения, любой файрфокс на той же машине может занимать в 4-5 раз больше и никуда не виснит даже при половине дня свёрнутого состояния.

PD>Запусти Task Manager и посмотри, сколько процентов времени CPU занимает этот процесс во время "размораживания". Также посмотри его дисковую активность, как уже отметил adontz. И еще посмотри потребности по памяти (Memory — Working Set, Memory — Commit Size) a) в момент ухода юзера и b)в момент его возвращения.


Спасибо за наводки — занялся тестами. Штука трудно уловимая, не 100% бывает, поэтому буду её ловить.

PD>Еще одна гипотеза. Не переходит ли банально компьютер в спящий режим после 10-15 минут отсутствия юзера ? Попробуй запретить ему это и посмотри , что будет.


Нет, это абсолютно точно. Народ даже иногда продолжает работать в других программах, наше приложение просто свёрнуто.
Полное ощущение, что Windows его засовывает глубоко в своп и очень долго оттуда достаёт потом, несмотря на то, что машины достаточно современные.
Re: Замерзает приложение
От: adontz Грузия http://adontz.wordpress.com/
Дата: 06.07.11 12:27
Оценка:
Здравствуйте, Serg65535, Вы писали:

А у вас не WPF?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Замерзает приложение
От: hardcase Пират http://nemerle.org
Дата: 06.07.11 13:49
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, Serg65535, Вы писали:


A>А у вас не WPF?


Кстати, наблюдаю похожие спецэффекты в ILSpy: после нескольких часов неактивности приложение долго и неохотно просыпается, окно в это время покрыто "белым саваном". Подкачка отключена, четырехядерный процессор бездействует.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[3]: Замерзает приложение
От: adontz Грузия http://adontz.wordpress.com/
Дата: 06.07.11 13:52
Оценка: 2 (1)
Здравствуйте, hardcase, Вы писали:

A>>А у вас не WPF?

H>Кстати, наблюдаю похожие спецэффекты в ILSpy: после нескольких часов неактивности приложение долго и неохотно просыпается, окно в это время покрыто "белым саваном". Подкачка отключена, четырехядерный процессор бездействует.

Ну так всякое WPF'ное барахло из видеопамяти выгружается, она ведь тоже не резиновая.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Замерзает приложение
От: Serg65535 Россия  
Дата: 07.07.11 09:22
Оценка:
Здравствуйте, adontz, Вы писали:

A>А у вас не WPF?


Нет, обычный Windows Forms, framework 3.5...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.