0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
1

Один поток загружает CPU на 100%

13.03.2007, 02:53. Показов 8830. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Никак не пойму, как получается, что если один поток нагружает процессор на 100% (например, примитивный цикл), то все остальное умирает. Ведь система вроде должна заботиться выделять ресурсы поровну всем желающим. Или тут нет формального равного подхода?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2007, 02:53
Ответы с готовыми решениями:

Проблема: Java загружает CPU на 100% и не отпускает
Привет всем! Я использую Windows 2000 Advansed Server, JRun 3.1, JDK 1.2.2 Проблема состоит в том...

Поток полностью загружает одно из ядер процессора
Вот собственно он public void ThreadListener() { string thre=""; ...

svhost.exe загружает ЦП на 100%!!!
Привет!Помогите, все перепробовал не помогает!!!Открывая какое либо видео или приложение Вконтакте...

100% загружает жесткий диск
100% загружает жесткий диск на Windows 8.1. Установил 10-ку тоже самое, пробовал отключать службы,...

10
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




These are the recommended system requirements for using Java RTS 1.0:

* dual UltraSparc III or higher with 512 MB preferred

* Solaris 10

* Java version 1.4.1 hotspot



Note that Java RTS 1.0 requires, at minimum, J2SE 1.4.1, Solaris 10, and SPARC. Future releases will support J2SE 5.0 and alternative platforms (both OS and HW). It's also important to note that Java RTS was designed for a dual-CPU system, but can run on a single CPU system. This will result in higher latency and jitter numbers, but is still an effective solution for those with higher temporal requirements.
0
15.03.2007, 03:13
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.03.2007, 03:13
Помогаю со студенческими работами здесь

Браузер загружает процессор на 90-100%
Здравствуйте, у меня случилась такая беда..... резко начал грузить проц в браузере и не только.. я...

Система загружает процессор на 100%
Здравствуйте уважаемые коллеги. Есть проблема. На компьютере установлена система W7. Небольшое...

Многопоточное приложение загружает процессор на 100%
Есть многопоточное приложение, бот для яндекса. В разных потоках проверяются несколько параметров с...

Процесс explorer.exe загружает ЦП до 100%
что делать?) Всё было нормально и вот последнюю неделю такая фигня! всё чистил, вирусов нет!...

Svchost.exe загружает процессор на 100%!
В чем может быть причина?кстати это происходит после того как я поиграю в мигру например!

Процесс explorer.exe загружает ЦП до 100%
Доброго времени суток! Уважаемые форумчане заранее извиняюсь если эта тема уже есть,я искал но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как проводить научные вычисления на 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 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru