/proc/* sous mac

Bonjour,

Petite question qui n'a rien d'un problème technique mais qui relève plus de la curiosité:
Existe t-il un équivalent au fichier /proc/meminfo sous Mac ? Je simule le comportement de la commande free grace a vm_stat, mais j'aimerais avoir accès aux informations autrement.
(par une interface en ligne de commande, bien entendu :p)
Dans le même temps, savez vous ou je pourrais trouver un équivalent a tous les fichiers contenu dans /proc ?

Merci :)

3 réponses

  1. Bonjour,

    La commande top permet d'avoir des éléments de réponse.
    Exemple:
    Processes: 104 total, 3 running, 101 sleeping, 449 threads                                                                       23:07:59
    Load Avg: 0.02, 0.06, 0.06  CPU usage: 3.73% user, 5.60% sys, 90.65% idle  SharedLibs: 6212K resident, 4892K data, 0B linkedit. 
    MemRegions: 14656 total, 661M resident, 36M private, 438M shared.
    PhysMem: 314M wired, 1156M active, 927M inactive, 2397M used, 1698M free.
    VM: 236G vsize, 1035M framework vsize, 302721(0) pageins, 0(0) pageouts.  Networks: packets: 280286/210M in, 307587/26M out.
    Disks: 57865/1828M read, 62346/5190M written.
    

    Je t'invite à lire cette page Mac4Ever sur la mémoire Mac OS X.

    Le moniteur d'activité permet aussi de connaître les principaux métriques quantifiant la gestion mémoire.
    Je t'invite à lire cette article Apple.

    Si tu recherches absolument un fichier contenant ces informations, alors je sèche !

    Ritchi
    0
    1. Merci de ta réponse.
      Je connais top (en même temps, c'est un incontournable :p), mais son utilisation n'est pas aisée dès lors qu'il s'agit de l'utiliser dans un script ou autre. De plus, dans le mesure ou il reste un programme à part entière, je trouve que son utilisation dans un script ou un exécutable quelconque est une pratique... dégoûtante xD
      Sinon, personne ne connait des fonctions C qui pourrait me donner des indications sur l'état de la mémoire/du processeur,... ? Sous Linux je peut les coder simplement grâce a ce merveilleux /proc, mais sous mac, je suis un peu perdu.

      Merci:)
      0
      1. Bonjour,

        Il y a aussi:
        - la commande vm_stat:
        [iMac-de-iMac-Admin:/usr/sbin] imac1250% vm_stat
        Mach Virtual Memory Statistics: (page size of 4096 bytes)
        Pages free:                          39613.
        Pages active:                       345030.
        Pages inactive:                     451045.
        Pages speculative:                  141724.
        Pages wired down:                    70825.
        "Translation faults":             27443165.
        Pages copy-on-write:               1558372.
        Pages zero filled:                 7998698.
        Pages reactivated:                     168.
        Pageins:                            565678.
        Pageouts:                               11.
        Object cache: 16 hits of 93298 lookups (0% hit rate)
        [iMac-de-iMac-Admin:/usr/sbin] imac1250% 
        


        - la commande vm_stat <n> avec n étant le nombre de secondes entre chaque échantillonnage: exemple de ce que cela donne toutes les 3secondes
        [iMac-de-iMac-Admin:~] imac1250% vm_stat 3
        Mach Virtual Memory Statistics: (page size of 4096 bytes, cache hits 0%)
          free active   spec inactive   wire   faults     copy    0fill reactive  pageins  pageout
         13191 369313 143376   450465  72131 29155998  1586043  8779747      168   615341       11 
         12903 369361 143371   450465  72131     6708       90     2042        0       13        0 
         12972 369388 143371   450465  72131     5392        4     1872        0        0        0 
         13054 369452 143371   450466  72131     6364        7     1903        0       17        0 
        
        Mais c'est peut-être ce que tu fais déjà pour émuler free ?

        - la commande ps -caxm -orss,comm qui permet de connaître la RAM (en ko) utilisée par chaque process:
        iMac-de-iMac-Admin:/usr/sbin] imac1250% ps -caxm -orss,comm
           RSS COMM
        138444 Google Chrome
        128236 Mail
        104244 WindowServer
         98652 mds
         79284 virusbarriers
         77896 VLC
         58668 Google Chrome Helper
         56928 Google Chrome Helper
         55140 Google Chrome Helper EH
         51028 Google Chrome Helper
         49732 Google Chrome Helper
         45876 Google Chrome Helper
         37760 ContentBarrier X5 Daemon
         35120 My Living Desktop Viewer
         31748 coreservicesd
         31404 Google Chrome Helper
         30916 Finder
         29348 Smultron
         23392 SystemUIServer
        


        - la commande sysctl -n hw.physmem ou sysctl -n hw.usermem ou sysctl -n hw.memsize ou ... (je te laisse tester les options que tu découvriras avec man sysctl)

        Ritchi
        0