что такое Python и почему он периодически использует так много CPU?

У меня есть Compaq V5205 с 1.46-граммовым celeron CPU. Я относительно доволен производительностью, поскольку я главным образом просто проверяю электронную почту и просматриваю Интернет. Однако иногда система замедляется к проверке. Я запустил системный монитор и заметил, что фитон использовал 100% CPU! Python остановился так же, как я видел то, что происходило так, я больше не получал информацию.

0
задан 12 June 2016 в 23:28

2 ответа

Длинный ответ

Состояния FAQ генерала Python:

Python является интерпретируемым, интерактивным языком объектно-ориентированного программирования. Это включает модули, исключения, динамический контроль типов, динамические типы данных очень высокого уровня и классы. Python комбинирует замечательное питание с очень ясным синтаксисом. Это имеет интерфейсы ко многим системным вызовам и библиотекам, а также к различным оконным системам, и расширяемо в C или C++. Это также применимо как дополнительный язык для приложений, для которых нужен программируемый интерфейс. Наконец, Python является портативным: это работает на многих вариантах Unix на Mac, и на Windows 2000 и позже.


В этом контексте существует 3 важных фасета: (Полужирный)

  1. Интерпретируемый язык является языком программирования, для которого большинство его реализаций выполняет инструкции непосредственно, ранее не компилируя программу в инструкции машинного языка.
  2. Интерактивное программирование является процедурой записи частей программы, в то время как это уже активно. Это фокусируется на тексте программы как основной интерфейс для рабочего процесса, а не интерактивное приложение, где программа разрабатывается в циклах разработки и используется после этого (обычно так называемым "пользователем" в различии "разработчику"). Следовательно, здесь, действие записи программы становится частью самой программы.
  3. Объектно-ориентированное программирование (ООП) является парадигмой программирования на основе понятия "объектов", которые могут содержать данные, в форме полей, часто известных как атрибуты; и код, в форме процедур, часто известных как методы. Функция объектов - то, что процедуры объекта могут получить доступ и часто изменять поля данных объекта, с которым они связаны (объекты имеют понятие "этого" или "сам"). В ООП компьютерные программы разработаны путем создания их из объектов, которые взаимодействуют друг с другом. Существует значительное разнообразие языков ООП, но самые популярные основаны на классах, означая, что объекты являются экземплярами классов, которые обычно также определяют их тип.

Почему Это Важно

Весь основной метод Linux'es выполнения вещей, независимо от Оконной или Настольной среды является терминалом, обычно названным TTY. Так как основной метод входа в TTY является клавиатурой, сценарии стали основным методом автоматизации вещей, и в то время как существует много собственных инструментов сценариев на Linux, как Awk/gAwk и Sed, некоторым нравятся Awk и Sed, иногда сложны для начала сценаристов и оспаривания синтаксически даже для экспертов.

Так как Python является языком сценариев, он может использоваться вместо утомительных инструментов как те, которых я отметил. Часть ООП пригождается, поскольку я могу использовать методы языка, вместо того, чтобы иметь необходимость записать sed или awk отрывки много раз. И именно это самые современные Linux'es сделали для упрощения разработки, и пишущий сценарий среди разработчиков. Одна из Ваших программ использует некоторый сценарий Python и подвешивается.


Короткий ответ

Знание, что Python является языком сценариев, означает, что @mikewhatever и я корректны в сообщении Вам, что Ваша система запускает программу, которая вызывает сценарий Python, и сценарий занимает много времени для выполнения или подвешивается. Инструменты как top, htop, и системный монитор скажет Вам название под управлением сценария и возможно родительской программы, которая вызвала сценарий.

3
ответ дан 23 December 2019 в 17:19

К сожалению, у меня в настоящее время нет способности прокомментировать этот сайт Exchange Стека, но я попытаюсь сделать этот ответ больше завершенный, чем комментарий. (Я рекомендовал бы принять подробный ответ eyoung100.)

Python является языком сценариев, который используется во многих программах. Когда Вы видите "Python" в списке процессов, это - на самом деле интерпретатор Python, запускающий другую программу, таким же образом поскольку выполнение.JAR файла было бы отображено как "Java".

Самая известная программа я замечаю это, работает на Python, playonlinux. Каждый раз, когда я запускаю playonlinux, и "playonlinux" и "Python" появляются в системном мониторе, однако они не используют многий ЦП. То же, вероятно, относилось бы к большинству других программ, которые полагаются на Python, таким образом, можно хотеть проверить, может ли какая-либо из программ возможно использовать язык.

0
ответ дан 23 December 2019 в 17:19

Другие вопросы по тегам:

Похожие вопросы: