Maison > développement back-end > Tutoriel Python > Comment utiliser le module psutil de Python

Comment utiliser le module psutil de Python

WBOY
Libérer: 2023-05-17 13:52:06
avant
2134 Les gens l'ont consulté

    1. module psutil :

    1.psutil introduction

    psutil est une bibliothèque multiplateforme (//pythonhosted.org/psutil/) qui peut facilement obtenir les processus et l'utilisation du système en cours d'exécution (y compris les informations sur le processeur, la mémoire, le disque, le réseau, etc.). Il est principalement utilisé pour la surveillance du système, l’analyse des performances et la gestion des processus. Il implémente les fonctions fournies par des outils de ligne de commande équivalents, tels que ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, tasket, pmap, etc. . Prend actuellement en charge les systèmes d'exploitation 32 bits et 64 bits tels que Linux, Windows, OS Informations sur le processeur

    Utilisez la méthode cpu_times pour obtenir les informations complètes du processeur comme indiqué ci-dessous.

    CentOS安装psutil包:
    python版本:3.5
    wget https://pypi.python.org/packages/source/p/psutil/psutil-3.2.1.tar.gz --no-check-certificate
    tar zxvf psutil-3.2.1.tar.gz
    cd psutil-3.2.1
    python setup.py install
    Windos安装psutil包:
    D:\python35\Scripts>pip3.exe install psutil
    Collecting psutil
      Downloading psutil-5.3.1-cp35-cp35m-win_amd64.whl (215kB)
        100% |████████████████████████████████| 225kB 84kB/s
    Installing collected packages: psutil
    Successfully installed psutil-5.3.1
    Copier après la connexion

    Obtenez une donnée unique, telle que le temps CPU de l'utilisateur ou le temps d'attente des E/S, comme indiqué ci-dessous :
    >>> psutil.cpu_times()
    scputimes(user=650613.02, nice=22.14, system=154916.5, idle=16702285.26, iowait=68894.55, irq=3.38, softirq=7075.65, steal=0.0, guest=0.0)
    >>>
    Copier après la connexion
    Obtenez le numéro logique et physique du CPU, la valeur logique par défaut est True.

    >>> psutil.cpu_times().user
    650617.11
    >>> psutil.cpu_times().iowait
    68894.63
    >>>
    Copier après la connexion

    Obtenir l'utilisation du processeur :

    #CPU逻辑个数
    >>> psutil.cpu_count()
    2
    #CPU物理个数
    >>> psutil.cpu_count(logical=False)
    1
    >>>
    Copier après la connexion

    2. Informations sur la mémoire

    La méthode virtual_memory est principalement utilisée pour obtenir des informations sur la mémoire. Pour utiliser swap, utilisez la méthode swap_memory.

    >>> psutil.cpu_percent()
    2.5
    >>> psutil.cpu_percent(1)
    2.5
    >>>
    Copier après la connexion

    Le pourcentage représente la proportion de mémoire réellement utilisée, soit (1047543808-717537280)/1047543808*100 %. Disponible indique la mémoire qui peut encore être utilisée.

    3. Informations sur le disque

    Il existe deux parties principales des informations sur le disque, l'une est l'utilisation du disque et l'autre est io. Elles peuvent être obtenues respectivement via les méthodes disk_usage et disk_io_counters.

    Obtenez d'abord les informations sur la partition, puis vérifiez l'utilisation de la partition racine :

    >>> mem = psutil.virtual_memory()
    >>> mem
    svmem(total=4018601984, available=1066205184, percent=73.5, used=3904004096, free=114597888, active=3302174720, inactive=426078208, buffers=156520448, cached=795086848)
    >>> mem.total
    4018601984
    >>> mem.used
    3904004096
    >>> mem.free
    114597888
    >>> print(mem.total/1024/1024)
    3832.4375
    >>>
    Copier après la connexion

    La méthode par défaut disk_io_counters obtient le numéro IO total et les informations de lecture et d'écriture du disque dur si vous avez besoin d'obtenir les IO et de lire et de lire et d'écrire. écrivez les informations d'une seule partition, ajoutez le paramètre " perdisk = True ".
    >>> psutil.disk_partitions()
    [sdiskpart(device='/dev/mapper/root', mountpoint='/', fstype='ext4', opts='rw,errors=remount-ro'), sdiskpart(device='/dev/sda1', mountpoint='/boot', fstype='ext2', opts='rw')]
    >>> psutil.disk_usage('/')
    sdiskusage(total=42273669120, used=17241096192, free=22885195776, percent=40.8)
    >>>
    Copier après la connexion

    4. Informations réseau :

    Les méthodes d'utilisation du réseau io et du disque io sont similaires. La méthode net_io_counters est principalement utilisée. Si vous avez besoin d'obtenir les informations io d'une seule carte réseau, ajoutez le pernic=True. paramètre.

    >>> psutil.disk_io_counters()
    sdiskio(read_count=638190, write_count=77080153, read_bytes=16037795840, write_bytes=1628871606272, read_time=2307367, write_time=1777841305)
    >>> psutil.disk_io_counters(perdisk=True)
    {'vdb1': sdiskio(read_count=312, write_count=0, read_bytes=1238016, write_bytes=0, read_time=95, write_time=0), 'vda1': sdiskio(read_count=637878, write_count=77080257, read_bytes=16036557824, write_bytes=1628873314304, read_time=2307272, write_time=1777841879)}
    >>>
    Copier après la connexion

    5. Autres informations système :

    1. Obtenez l'heure de démarrage

    #获取网络总的io情况
    >>> 
    >>> psutil.net_io_counters()
    snetio(bytes_sent=525490132009, bytes_recv=409145642892, packets_sent=948527563, packets_recv=778182181, errin=0, errout=0, dropin=0, dropout=0)
    #获取网卡的io情况
    >>> 
    >>> psutil.net_io_counters(pernic=True)
    {'lo': snetio(bytes_sent=56524704027, bytes_recv=56524704027, packets_sent=33602236, packets_recv=33602236, errin=0, errout=0, dropin=0, dropout=0), 'eth0': snetio(bytes_sent=468966480940, bytes_recv=352622081327, packets_sent=914930488, packets_recv=744583332, errin=0, errout=0, dropin=0, dropout=0)}
    >>>
    Copier après la connexion

    2. Affichez tous les processus système

    ##以linux时间格式返回,可以使用时间戳转换
    >>> psutil.boot_time()    
    1496647567.0
    #转换成自然时间格式
    >>> psutil.boot_time()
    1496647567.0
    >>> datetime.datetime.fromtimestamp(psutil.boot_time ()).strftime("%Y-%m-%d %H: %M: %S")
    '2017-06-05 15: 26: 07'
    >>>
    Copier après la connexion

    3. script d'information
    >>> psutil.pids()
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53, 60, 61, 63, 64, 65, 97, 98, 279, 280, 331, 398, 481, 676, 693, 769, 845, 848, 1023, 1085, 1108, 1355, 1366, 1457, 1474, 1475, 1494, 1541, 1543, 1545, 1546, 1548, 1550, 1552, 2829, 12436, 12913, 13129, 16022, 16029, 16030, 16031, 16032, 16033, 16518, 16520, 17088, 17124, 19203, 25382, 32679]
    Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal