Как узнать процессор python
Как посмотреть установленное железо на PC
3 ответа 3
Для Windows можно использовать
Установить оба модуля:
Для люниха это можно сделать проще:
Если win, то как вариант, зайди в проводник->этот компьютер (ПКМ по пустому полю)->свойства->диспетчер устройств. Там можно найти твой процессор, видеокарта, wi-fi адаптер. Но это простой способ который помогает найти не полный список комплектующих. Можно еще посмотреть в bios. При вкл компа, зажми либо F2, либо DEL. Там ты даже можешь настроить некоторые параметры. Частоту оперативной памяти например и многое другое. А вообще в bios можешь все посмотреть. Ну или же выполнить инструкцию, которую описали выше.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками python python-2.x железо или задайте свой вопрос.
Связанные
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.16.41042
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как узнать текущее использование процессора и оперативной памяти в Python?
Какой предпочитаемый способ получения текущего состояния системы (текущий процессор, оперативная память, свободное место на диске и т. Д.) В Python? Бонусные баллы для * nix и Windows платформ.
Кажется, есть несколько возможных способов извлечь это из моего поиска:
Использование библиотеки, такой как PSI (которая в настоящее время, кажется, не активно развивается и не поддерживается на нескольких платформах) или что-то вроде pystatgrab (опять нет активности с 2007 года, как кажется и нет поддержки Windows).
Использование специального кода платформы, например, os.popen(«ps») или аналогичного для систем * nix и MEMORYSTATUS в ctypes.windll.kernel32 (см. этот рецепт на ActiveState ) для платформы Windows. Можно поместить класс Python вместе со всеми этими фрагментами кода.
Не то чтобы эти методы плохие, но уже существует хорошо поддерживаемый, многоплатформенный способ сделать то же самое?
12 ответов
Библиотека psutil предоставит вам некоторую системную информацию (использование ЦП / памяти) на различных платформах:
В настоящее время он поддерживает Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD и NetBSD, как 32-разрядные, так и 64-разрядные архитектуры, с версиями Python от 2.6 до 3.5 (пользователи Python 2.4 и 2.5 могут использовать версию 2.1.3).
ОБНОВЛЕНИЕ: Вот несколько примеров использования psutil :
Вот кое-что, что я собрал некоторое время назад, это только окна, но может помочь вам получить часть того, что вам нужно сделать.
Этот скрипт для использования процессора:
Основываясь на коде использования процессора @Hrabal, я использую это:
Я чувствую, что эти ответы были написаны для Python 2, и в любом случае никто не упомянул стандарт resource пакет, который доступен для Python 3. Он предоставляет команды для получения ресурса limit для данного процесса (вызывающий процесс Python по умолчанию). Это не то же самое, что получение текущего использования ресурсов системой в целом, но это может решить некоторые из тех же проблем, например, например, «Я хочу убедиться, что я использую только X много оперативной памяти с этим сценарием».
Вывод для справки (мы удалили все новые строки для дальнейшего анализа)
MemTotal: 1014500 кБ MemFree: 562680 кБ MemAvailable: 646364 кБ Буферы: 15144 кБ Кэшированные: 210720 КБ Свопинговые: 0 КБ Активные: 261476 КБ Неактивные: 128888 КБ Активные (анон): 167092 КБ Неактивные (анон): файл 20888 КБ Активные (файл) : 94384 КБ Неактивен (файл): 108000 КБ Неуязвим: 3652 КБ Блокировано: 3652 КБ Общий обмен: 0 КБ Свободный обмен: 0 КБ Грязный: 0 КБ Обратная запись: 0 КБ Количество страниц: 168160 КБ Отображено: 81352 КБ Shmem: 21060 КБ Плита: 34492 SRExlaimable: 18044 кБ 0 кБ AnonHugePages: 88064 кБ CmaTotal: 0 кБ CmaFree: 0 кБ HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Огромный размер страницы: 2048 кБ DirectMap4k: 43008 КБ 10055 КБММ682
У меня ниже коды, без внешних библиотек работали. Я тестировал на Python 2.7.9
Загрузка процессора
Использование плунжера, общее, использованное и бесплатное
«. текущее состояние системы (текущий процессор, оперативная память, свободное место на диске и т. д.)» И «* nix и платформы Windows» могут оказаться трудной комбинацией.
«Свободное место на диске»? Что считается «дисковым пространством»? Все разделы всех устройств? А как насчет внешних разделов в мультизагрузочной среде?
Я не думаю, что существует достаточно четкий консенсус между Windows и * nix, который делает это возможным. Действительно, между различными операционными системами, называемыми Windows, может и не быть единого мнения. Есть ли один Windows API, который работает как для XP, так и для Vista?
Я не верю, что есть хорошо поддерживаемая многоплатформенная библиотека. Помните, что сам Python написан на C, поэтому любая библиотека просто примет умное решение о том, какой фрагмент кода для конкретной ОС запускать, как вы предложили выше.
Используйте библиотеку psutil. На Ubuntu 18.04 pip установлен 5.5.0 (последняя версия) по состоянию на 1-30-2019. Старые версии могут вести себя несколько иначе. Вы можете проверить свою версию psutil, выполнив это в Python:
Чтобы получить статистику по памяти и процессору:
virtual_memory (кортеж) будет иметь процент использования памяти в масштабе всей системы. Это казалось мне завышенным на несколько процентов в Ubuntu 18.04.
Вы также можете получить память, используемую текущим экземпляром Python:
Который дает текущее использование памяти вашего скрипта Python.
На странице pypi для psutil есть еще несколько подробных примеров.
Только для Linux: одна строка для использования ОЗУ с зависимостью только от stdlib:
Редактировать: указанное решение ОС зависимости
Вы можете использовать psutil или psmem с примером кода подпроцесса
Как узнать текущее использование процессора и оперативной памяти в Python?
Какой предпочитаемый способ получения текущего состояния системы (текущий процессор, оперативная память, свободное место на диске и т. Д.) В Python? Бонусные баллы для * nix и Windows платформ.
Кажется, есть несколько возможных способов извлечь это из моего поиска:
Использование библиотеки, такой как PSI (которая в настоящее время, кажется, не активно развивается и не поддерживается на нескольких платформах) или что-то вроде pystatgrab (опять же, с 2007 года, похоже, нет активности и нет поддержки Windows)
Использование специфического для платформы кода, например использование os.popen(«ps») или аналогичный для систем * nix и MEMORYSTATUS в ctypes.windll.kernel32 (см. Этот рецепт на ActiveState ) для платформы Windows. Можно поместить класс Python вместе со всеми этими фрагментами кода.
Не то чтобы эти методы плохие, но уже есть хорошо поддерживаемый, многоплатформенный способ сделать то же самое?
Библиотека psutil предоставляет вам информацию о процессоре, оперативной памяти и т. Д. На различных платформах:
В настоящее время он поддерживает Linux, Windows, OSX, Sun Solaris, FreeBSD, OpenBSD и NetBSD, как 32-разрядные, так и 64-разрядные архитектуры, с версиями Python от 2.6 до 3.5 (пользователи Python 2.4 и 2.5 могут использовать версию 2.1.3).
Вот другая документация, которая предоставляет больше понятий и понятий интереса:
Чтобы получить статистику по памяти и процессору:
У virtual_memory (кортежа) будет процент памяти, используемой в масштабе всей системы. Это казалось мне завышенным на несколько процентов в Ubuntu 18.04.
Вы также можете получить память, используемую текущим экземпляром Python:
который дает текущее использование памяти вашего скрипта Python.
Только для Linux: одна строка для использования ОЗУ с зависимостью только от stdlib:
редактировать: указанное решение ОС зависимости
У меня ниже коды, без внешних библиотек работали. Я тестировал на Python 2.7.9
Использование процессора
И использование плунжера, всего, б / у и бесплатно
Вот кое-что, что я собрал некоторое время назад, это только окна, но может помочь вам получить часть того, что вам нужно сделать.
Мы решили использовать обычный источник информации для этого, потому что мы могли найти мгновенные колебания в свободной памяти и чувствовали, что запрос источника данных meminfo был полезен. Это также помогло нам получить еще несколько связанных параметров, которые были предварительно проанализированы.
Вывод для справки (мы удалили все новые строки для дальнейшего анализа)
MemTotal: 1014500 кБ MemFree: 562680 кБ MemAvailable: 646364 кБ Буферы: 15144 кБ Кэшированные: 210720 КБ Свопы: 0 КБ Активные: 261476 КБ Неактивные: 128888 КБ Активные (анон): 167092 КБ Неактивные (анон): файл 20888 КБ Активные (файл) : 94384 КБ Неактивен (файл): 108000 КБ Неуязвим: 3652 КБ Блокировано: 3652 КБ Общий обмен: 0 КБ Свободный обмен: 0 КБ Грязный: 0 КБ Обратная запись: 0 КБ Количество страниц: 168160 КБ Отображено: 81352 КБ Shmem: 21060 КБ Плита: 34492 Объясняемое: 18044 кБ. SUВозвратное: 16448 кБ. Ядро: стек: 2672 кБ. Параметры таблицы: 8180 кБ. NFS_Unstable: 0 КБ. Отказов: 0 КБ. 0 КБ2048 КБ DirectMap4k: 43008 КБ DirectMap2M: 1005568 КБ
Как узнать температуру процессора с помощью psutil в Python
Библиотека psutil предназначена для получения информации о запущенных процессах и использовании системы (процессор, память, диски, сеть).
Эта библиотека пригодится вам, если вы захотите получить какие-либо данные о конкретном процессе или комплектующих. Также появится возможность управлять ими в зависимости от их состояния.
Получение информации о комплектующих ПК с помощью библиотеки psutil
Какую же информацию можно получить? Можно достать данные о процессоре с момента загрузки, в том числе о том, сколько системных вызовов и контекстных переключателей он сделал:
Также есть возможность извлечь информацию о диске и состоянии памяти:
Можно даже получить данные о времени автономной работы или узнать текущую температуру процессора:
Получение информации о процессах
Одной из самых классных фишек этой библиотеки является то, что можно получить доступ к процессам и их статистике. Однако есть процессы, которые требуют наличия прав администратора. В противном случае после попытки доступа произойдет сбой с ошибкой «AccessDenied». Давайте протестируем эту функцию.
Сначала создадим экземпляр, предоставляя требуемый идентификатор процесса:
Затем можно получить доступ ко всей информации и статистике процесса:
Создадим функцию, которая связывает открытые порты соединений с процессами. Для начала нужно перебрать все открытые соединения.
Обратим внимание на то, что одним из возвращаемых атрибутов является «pid».
Можно связать это с именем процесса:
Но не стоит забывать, что если пользователь не обладает правами администратора, он не сможет получить доступ к определенным процессам. Проверим выходные данные. Он вернет много данных, поэтому выведем только первое значение:
Как можно увидеть, первое значение – это имя процесса, второй – данные соединения: IP-адрес, порт, статус и так далее. Данная функция очень полезна для понимания того, какие порты используются конкретными процессами.
Подведение итогов
Psutil – отличная библиотека, предназначенная для управления системой. Она полезна для управления ресурсами как частью потока кода.
Как узнать, какими методами, свойствами и т. Д. Обладает модуль python?
Допустим, я импортирую модуль. Чтобы я мог наилучшим образом использовать его, я хотел бы знать, какие свойства, методы и т. Д. Я могу использовать. Есть ли способ узнать это?
Допустим, я хотел также распечатать память, занятую процессами. Как мне узнать, возможно ли это? И какой будет правильный «ярлык» для него? (так же, как автор использует ‘Commandline’, ‘ProcessId’)
Точно так же в этом:
Как бы я заставил функцию также распечатать потребляемую память, путь к исполняемому файлу и т. Д.?
4 ответа
Что касается модулей Python, вы можете сделать
И вы получите список поддерживаемых методов (точнее, вы получите строку документации, которая может содержать не каждый метод). Если вы хотите, вы можете использовать
Хотя теперь вы просто получите длинный список всех свойств, методов, классов и т. д. в этом модуле.
В Python есть встроенная функция dir (). Я не уверен, что это то, на что вы ссылаетесь, но запустите интерактивную консоль Python и введите:
Это должно дать вам список методов, свойств и подмодулей
Хорошо, извините, я думаю, что вы новичок, и вы не понимаете, к каким фундаментальным понятиям я отношусь.
Имена относятся к объектам. Имена введены операции связывания имен. Каждое вхождение имени в текст программы относится к обязательному это имя установлено в глубине души функциональный блок, содержащий использование. http://docs.python.org/reference/executionmodel.html#naming и- связывающий
Итак, вы правы: когда я ссылаюсь на ключи, я имею в виду имена, являющиеся ключами в различных пространствах имен. Имена являются произвольными или нет, в зависимости от того, являются ли объекты, которые они были созданы для именования, объектами пользователя или встроенными объектами.
Я советую вам внимательно прочитать части
dir(module) возвращает имена атрибутов модуля
module.__dict__.keys() и dir(module) являются списками, имеющими одинаковые элементы, хотя они не равны, поскольку элементы в них расположены не в том же порядке