2009-09-30 2 views
1

со мной случается иногда:, что делать, когда окно идет в страшном 100% режиме зомби использования процессора

Я начинаю свою программу в визуальной студии и из-за какую-то ошибку, моя программа переходит в 100% загрузку процессора и в основном замерзает окна полностью.

Только путем полного терпения, требующего диспетчера задач (требуется навсегда, чтобы придумать и нарисовать) Я могу убить свой процесс.

Неужели другие иногда сталкиваются с этим? Есть ли хитроумный трюк, чтобы добиться этого процесса (за исключением вытаскивания вилки и возможного разрушения файлов на HD)? Он теперь занимает 5-10 минут, чтобы убить его должным образом, если диспетчер задач не случайно присутствует, и я должен просить этот первый

R

P.S. странно, что «многозадачность os» все еще позволяет процессам питаться так много времени, что больше ничего не может быть сделано. Моя программа даже не влияет на приоритеты потоков или что-то еще

+0

Ionno, но в NetBeans есть кнопка «stop», которая убьет процесс для вас, даже если он не отвечает .... как насчет удара shift + f5 в VS? это работает? Говорит о прекращении отладки. – mpen

+0

Когда окна замерзают, практически невозможно получить визуальную студию для ответа ... Я думаю, что это связано с тем, что она огромная, и происходит много обмена – Toad

ответ

1

Проверьте Process Lasso

«Process Lasso является уникальной новой технологией, которая, помимо всего прочего, улучшить отзывчивость вашего компьютера и стабильности для Windows, дизайн, позволяет программам монополизировать вашего процессора без ограничений. - - приводит к зависаниям и зависанию. Процесс Lasso ProBalance (Process Balance) интеллектуально регулирует приоритет запуска программ, так что плохое поведение или чрезмерно активные процессы не будут мешать вашей способности использовать компьютер! "

http://www.bitsum.com/prolasso.php

Я не связан с Bitsum, только пользователь их продукта, и это помогает мне решить этот тип проблем.

+0

отличный совет! благодаря – Toad

0

Для чего это стоит, я никогда не видел этого на XP 64 или Vista 64, разрабатывая приложения на C++ в Visual Studio. Возможно, обновление ОС в порядке?

Edit: Я использую Process Explorer в качестве замены диспетчера задач - это не удивило бы меня, если это сделал лучшую работу появляться в хорошее время, даже когда есть жулик запущенный процесс. И вы можете использовать его для повышения своего приоритета.

+0

, к сожалению, это просто случилось со мной на Windows 7 64bit. – Toad

+0

спасибо за подсказку мастера процесса ... Я использовал другие инструменты sysinternals в прошлом. Если это наполовину так же хорошо, как и их другие инструменты, вероятно, он уже должен быть в 45 раз лучше, чем менеджер задач по умолчанию – Toad

0

Я обычно ударил Ctrl-Alt-Delete запустить диспетчер задач сортировать по CPU найти процесс обижая и правой кнопкой мыши и завершить процесс ..

менеджер задач, как правило, имеет достаточно приоритет, чтобы сделать это, хотя это может быть медленным ,

0

Я думаю, что дробовик в голове - единственный способ быть уверенным.
alt text

+0

hahaha, ... Я это рассматривал несколько раз; ^) – Toad

0

Обычно я не вижу ничего подобного, это происходит как функция приложения, которое потребляет 100% процессор. В рамках тестирования стабильности/производительности у меня есть приложения, которые заставляют Windows работать очень медленно, но обычно это делается путем написания приложений с большой резьбой (что приводит к тому, что планировщик O/S будет разбит) или путем написания приложений, которые потребляют все доступную системную память или ресурсы (гораздо более эффективную для приложений GUI, чем просто один поток, который потребляет всю свою долю времени процессора во время его фрагментов).

+0

Я только что нашел проблему: функция рекурсинга бесконечно. По-видимому, это все, что нужно, чтобы заморозить вашу ОС до времени пули. – Toad

+0

Рекурсивно бесконечно стремится съесть память. Вы посмотрели на объем памяти приложения, когда он перешел в режим «убегания»? Опять же, едоки памяти, как правило, наносят ущерб системе гораздо больше, чем кукурузы процессора, по крайней мере, по моему опыту. – Nadim

+1

Вопрос в том, почему исследователь, диспетчер задач и т. Д. Не остаются заблокированными в памяти на машине с гигабайтами памяти? Я думаю, что Windows должна отмечать эти критические интерфейсы и процессы обслуживания как не подлежащие замене. Кроме того, если GUI может перерисовываться без пейджинга во всем приложении, это поможет. Когда-нибудь? Может быть, с бэк-магазином? –

0

Вы говорите, что получили это поведение в Visual Studio? У VS есть кнопка «Пауза» ...