2013-05-28 7 views
4

Я искал ее через Интернет, но не нашел ничего, что связано с ней.Как ограничить максимальную загрузку процессора для программы python

У меня есть два больших словаря python, которые содержат более 2 миллионов пар ключей. Мой компьютер постоянно показывает 100% -ное использование, когда я делаю какие-либо вычисления по этим данным.

Из-за этого я не могу выполнять другую задачу в своей системе, поскольку она часто висит.

Есть ли способ ограничить максимальное распределение CPU для программы python, написав код в самой программе python. Поскольку я не хочу, чтобы эта программа использовала 100% процессорное время.

PS: Я в настоящее время использую функцию сна, чтобы ограничить его, но он выглядит silly.I я использую ОС Windows 7.

+4

процессорное время не используется процессорное время впустую; если проблема не в том, чтобы избежать перегрева на плохо собранных компьютерах, решение не должно снизить загрузку ЦП, а снизить приоритет вашего процесса, поэтому, если есть какая-либо другая задача, конкурирующая за процессор, ваш процесс всегда будет «проигрывать», тем самым оставляя систему реагирующей. –

+0

Также смотрите: http://stackoverflow.com/questions/1023038/change-process-priority-in-python-cross-platform –

+0

@MatteoItalia Этот вопрос касается платформы unix/linux. Поскольку я являюсь пользователем Windows 7 так выглядящим что-то для окон. Спасибо за ссылку. –

ответ

5

Если вы находитесь на платформе Linux/Unix вы можете использовать nice для уменьшения приоритета вашего процесса ,

Это помогает только в том случае, если это максимум процессора. Если вы ждете ввода/вывода на диске/свопе, например, nice действительно не поможет.

 
NICE(1)       User Commands       NICE(1) 

NAME 
     nice - run a program with modified scheduling priority 

SYNOPSIS 
     nice [OPTION] [COMMAND [ARG]...] 

DESCRIPTION 
     Run COMMAND with an adjusted niceness, which affects process schedul‐ 
     ing. With no COMMAND, print the current niceness. Nicenesses range 
     from -20 (most favorable scheduling) to 19 (least favorable). 

Для Windows попробовать the START command

+0

Несмотря на то, что существует «ионная система», чтобы дать процессу более низкий приоритет в запросах ввода-вывода. –

+1

вы также можете получить доступ к nice из модуля 'os',' os.nice() 'http://docs.python.org/2/library/os.html#os.nice – qwwqwwq

+0

@gnibbler Спасибо за ответ .I попробуем его и вернемся к вам. –

Смежные вопросы