0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
|
|
1 | |
Один поток загружает CPU на 100%13.03.2007, 02:53. Показов 8830. Ответов 10
Метки нет (Все метки)
Никак не пойму, как получается, что если один поток нагружает процессор на 100% (например, примитивный цикл), то все остальное умирает. Ведь система вроде должна заботиться выделять ресурсы поровну всем желающим. Или тут нет формального равного подхода?
0
|
13.03.2007, 02:53 | |
Ответы с готовыми решениями:
10
Проблема: Java загружает CPU на 100% и не отпускает Поток полностью загружает одно из ядер процессора svhost.exe загружает ЦП на 100%!!! 100% загружает жесткий диск |
paradise
|
|
13.03.2007, 03:03 | 2 |
Почему "система" должна выделять всем поровну? Есть понятие приоритетов например.
|
paradise
|
|
13.03.2007, 03:09 | 3 |
Кроме того, представь: в системе есть два потока с одинаковым приоритетом. Один загружает процессор на 100% в течении своего кванта, а второй тоже что-то делает, но при этом на 100% процессор не загружает. Как ты думаешь, логично увеличить квант тому процессу, который работает на приделе? Или лучше поровну распределить процессор, но при этом первый процесс будет "голодать", а второй будет использовать процессор только половину отведенного ему времени?
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
13.03.2007, 16:18 | 4 |
если 2 процсса интенсивно потребляют ресурсы CPU, то каждый из них получит по 50%, если один процесс "спит", а другой интенсивно потребляет, то распределение будет 0% - 100%
обычно большинство процессов (задач) находятся в "полусонном" состоянии, тебуют пиковой активности на пару секунд, а в остальное время практически не потребляют ресурсов системы бесконечный цикл (даже если и пустой) без sleep-вставок постоянно требует максимально доступные ресурсы от CPU, потому что он постоянно работает, отсюда и вытекает 100% для данного процесса, потому как все остальные процессы "спят" если запустить 2 процесса с бесконечным пустым циклом, то ресурсы CPU распределяться примерно равномерно 50% - 50% примерно так
0
|
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
|
|
13.03.2007, 18:20 [ТС] | 5 |
Конечно, вроде логично дать больше ресурса работающему процессу. Однако типичная ситуация случается, когда один поток крутится вхолостую (как правило это ошибка программирования), а другие просто умирают. Даже другие приложения в системе замедляются. Теперь представьте себе, что пользователь одновременно работает с двумя приложениями от конкурирующих поставщиков. Например, смотрит потоки новостей от двух провайдеров. И одно приложение может таким способом (имитацией деятельности) забрать все ресурсы, заблокировать другое.
Впрочем, что имеем то и имеем. Примерно понятно, что ресурс в виде кванта процессорного времени делится не поровну, а учитывается состояние процесса.
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
14.03.2007, 13:57 | 6 |
может ошибка программы, а может сложные математические вычисления, рассчет какой-нибудь задачи, архивирование файла, шифрование данных или еще чего, вы же не хотите, чтобы процесс который потенциально можно завершить за 30 мин. продолжался бы в течении 1 часа
0
|
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
|
|
14.03.2007, 18:29 [ТС] | 7 |
В некоторых случаях именно хочу. Хочу, чтобы приложение имело гарантированный ресурс. Стоит запустить к примеру WinZip, и все остальное тормозится. Теперь представьте, ваше приложение, постоянно обменивающееся с сервером информацией, работает у клиента. Клиент между делом запускает архиватор. Ваше приложение начинает тормозиться, сервер обрывает соединение. У клиента претензия к вам, а вы и не в курсе, что клиенту вздумалось запустить параллельно архиватор или видео в интернете посмотреть.
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
14.03.2007, 20:21 | 8 |
тогда нужно использовать RealTime OS, а не Windows
0
|
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
|
|
14.03.2007, 21:28 [ТС] | 9 |
Клиенты сами себе выбирают ось . Кстати, есть realtime jvм, но пока не для виндоуз.
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
15.03.2007, 03:09 | 10 |
беседа ни о чем
0
|
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
|
|
15.03.2007, 03:13 | 11 |
RT JVM, насколько мне известно, существуют лишь для Sun Solaris, я имею ввиду JVM от Sun, это возможно лишь потому, что Solaris предоставляет разработчикам набор RT функций, Windows не предоставляет таких возможностей, по-этому, я сильно сомневаюсь, что можно написать RT JVM для Windows не меняя ядра OS, что разработчики JVM вряд ли будут делать
http://java.sun.com/javase/tec... altime.jsp
0
|
15.03.2007, 03:13 | |
15.03.2007, 03:13 | |
Помогаю со студенческими работами здесь
11
Браузер загружает процессор на 90-100% Система загружает процессор на 100% Многопоточное приложение загружает процессор на 100% Процесс explorer.exe загружает ЦП до 100% Svchost.exe загружает процессор на 100%! Процесс explorer.exe загружает ЦП до 100% Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
|
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
|
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
|
Параллельное программирование: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование
Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
|
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
|
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|