Comandes relacionades amb memòria

De Guifi.net - Wiki Català

Revisió de 21:27, 13 nov 2010; Al (Discussió | contribucions)

(dif) ←Versió més antiga | Versió actual (dif) | Versió més nova→ (dif)

free

Mostra l'ús de la memòria:

$ free
             total       used       free     shared    buffers     cached
Mem:       1035636    1017560      18076          0      18460     521304
-/+ buffers/cache:     477796     557840
Swap:      2048248      34872    2013376

És molt útil l'opció -m que ens mostra la informació en MBytes (l'opció per defecte és kbytes):

$ free -m
             total       used       free     shared    buffers     cached
Mem:          1011        973         37          0         14        493
-/+ buffers/cache:        465        545
Swap:         2000         34       1966

També podem consultar els totals amb:

$ free -tm
             total       used       free     shared    buffers     cached
Mem:          1011        974         36          0         14        493
-/+ buffers/cache:        465        545
Swap:         2000         34       1966
Total:        3011       1008       2003

I l'opció -s s'utilitza per mostrar la comanda cada x segons:

$ free -om -s 2
             total       used       free     shared    buffers     cached
Mem:          1011        975         36          0         14        494
Swap:         2000         34       1966  

             total       used       free     shared    buffers     cached
Mem:          1011        975         36          0         14        494
Swap:         2000         34       1966
... 

vmstat

Mostra l'estat de la memòria

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0 284892  40012 144580 391576    8   27   250   977  220  999 38  5 48  9

Consulteu:

dstat

vmstat amb coloraines:

$ sudo apt-get install dstat
$ dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
 45   7  37  11   0   1| 557k 1669k|   0     0 |  19k   34k| 337  2408 
 44   3  53   0   0   0|   0     0 | 241k  147k|   0     0 | 389  2225 
 33   3  61   2   0   1|4096B   72k| 113k  230k|4096B    0 | 548  2385 
 37   2  61   0   0   0|   0   156k| 144k  231k|   0     0 | 428  2081 
 21   3  75   0   0   1| 128k  508k| 120k  218k|   0     0 | 409  2346 
 44   1  52   2   0   1| 164k   12k| 131k  227k| 160k    0 | 409  2249 
 26   1  73   0   0   0|   0     0 | 120k  233k|   0     0 | 333  2243 
 40   5  53   1   1   0|8192B    0 |  95k  222k|8192B    0 | 283  2980 
 56   5  37   0   1   1|   0    96k|  89k  218k|   0     0 | 571  2810 
....

top

Consulteu:

Sistema de fitxers proc

Recursos:

Consulta dels mapes de memòria

Amb la comanda ps podem consultar els PIDS dels processos

$ ps -A
  PID TTY          TIME CMD
    1 ?        00:00:00 init
    2 ?        00:00:00 ksoftirqd/0 

Un cop sabem el PID podem consultar la informació del procés a /proc/PID. Per exemple el mapa de memòria es troba a:

$ cat /proc/1/maps
08048000-08050000 r-xp 00000000 16:46 493923     /sbin/init (executable code)
08050000-08051000 rw-p 00007000 16:46 493923     /sbin/init (data)
08051000-08072000 rw-p 08051000 00:00 0          [heap]
b7e2b000-b7e2c000 rw-p b7e2b000 00:00 0
b7e2c000-b7f4c000 r-xp 00000000 16:46 3770390    /lib/libc-2.5.so
b7f4c000-b7f4d000 r--p 00120000 16:46 3770390    /lib/libc-2.5.so
b7f4d000-b7f4f000 rw-p 00121000 16:46 3770390    /lib/libc-2.5.so
b7f4f000-b7f53000 rw-p b7f4f000 00:00 0
b7f6f000-b7f70000 r-xp b7f6f000 00:00 0          [vdso]
b7f70000-b7f8a000 r-xp 00000000 16:46 3770498    /lib/ld-2.5.so
b7f8a000-b7f8b000 r--p 00019000 16:46 3770498    /lib/ld-2.5.so
b7f8b000-b7f8c000 rw-p 0001a000 16:46 3770498    /lib/ld-2.5.so
bf8fc000-bf911000 rw-p bf8fc000 00:00 0          [stack]


Recursos:

/proc/meminfo

cat /proc/meminfo 
MemTotal:      1035636 kB
MemFree:         35580 kB
Buffers:         15960 kB
Cached:         506444 kB
SwapCached:        660 kB
Active:         686404 kB
Inactive:       256572 kB
HighTotal:      131008 kB
HighFree:          852 kB
LowTotal:       904628 kB
LowFree:         34728 kB
SwapTotal:     2048248 kB
SwapFree:      2013376 kB
Dirty:             572 kB
Writeback:           0 kB
AnonPages:      419928 kB
Mapped:         107604 kB
Slab:            33016 kB
SReclaimable:    20324 kB
SUnreclaim:      12692 kB
PageTables:       3772 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   2566064 kB
Committed_AS:  1198368 kB
VmallocTotal:   114680 kB
VmallocUsed:      8140 kB
VmallocChunk:   105460 kB

Recursos:

/proc/iomem

Mostra com esta mapejada la memòria:

$ cat /proc/iomem 
00000000-0009f7ff : System RAM
  00000000-00000000 : Crash kernel
0009f800-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000ccfff : Video ROM
000d4000-000d4fff : Adapter ROM
000d5000-000d7fff : pnp 00:01
000f0000-000fffff : System ROM
00100000-3ffeffff : System RAM
  00100000-002f7e85 : Kernel code
  002f7e86-003dce83 : Kernel data
3fff0000-3fff2fff : ACPI Non-volatile Storage
3fff3000-3fffffff : ACPI Tables
50000000-500fffff : PCI Bus #02
  50000000-5001ffff : 0000:02:08.0
d0000000-dfffffff : PCI Bus #01
  d0000000-dfffffff : 0000:01:00.0
e0000000-e3ffffff : 0000:00:00.0
  e0000000-e3ffffff : aperture
e4000000-e4ffffff : PCI Bus #01
  e4000000-e401ffff : 0000:01:00.0
 e4020000-e402ffff : 0000:01:00.0
e5000000-e5ffffff : PCI Bus #02
  e5020000-e5023fff : 0000:02:08.0
    e5020000-e5023fff : skge
  e5024000-e50247ff : 0000:02:07.0
    e5024000-e50247ff : ohci1394
e6000000-e6000fff : 0000:00:06.0
  e6000000-e6000fff : NVidia CK8S
e6002000-e6002fff : 0000:00:02.0
  e6002000-e6002fff : ohci_hcd
e6003000-e6003fff : 0000:00:02.1
  e6003000-e6003fff : ohci_hcd
e6004000-e60040ff : 0000:00:02.2
  e6004000-e60040ff : ehci_hcd
fec00000-fec00fff : reserved
fee00000-feefffff : reserved
fefffc00-feffffff : reserved
ffff0000-ffffffff : reserved

Sysctl

Consulteu l'article Sysctl. Tunning del kernel

Recursos

Eines de l'usuari