operating-system - uso - solaris 10
Métodos completos para ver el uso de la memoria en Solaris (5)
En Linux, el comando "superior" muestra una descripción detallada pero de alto nivel del uso de la memoria, que muestra:
Memoria total, memoria utilizada, memoria libre, uso de búfer, uso de caché, tamaño de intercambio y uso de intercambio.
Mi pregunta es, ¿qué comandos están disponibles para mostrar estas cifras de uso de memoria de una manera clara y simple? Puntos de bonificación si están presentes en la instalación "Core" de Solaris. ''sar'' no cuenta :)
La parte superior se puede compilar de las fuentes o descargar de sunfreeware.com. Como se publicó anteriormente, vmstat está disponible (¿creo que está en la instalación principal?).
# echo ::memstat | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 7308 57 23%
Anon 9055 70 29%
Exec and libs 1968 15 6%
Page cache 2224 17 7%
Free (cachelist) 6470 50 20%
Free (freelist) 4641 36 15%
Total 31666 247
Physical 31256 244
El comando free
es bueno. Toma un poco de tiempo entender "+/- buffers / cache", pero la idea es que la caché y los buffers no cuentan cuando se evalúa "gratis", ya que se pueden descartar de inmediato. Por lo tanto, para ver cuánta memoria libre (y utilizada) tiene, necesita eliminar el uso de la memoria caché / búfer, lo cual es conveniente para usted.
"arriba" generalmente está disponible en Solaris.
Si no, vuelva a "vmstat", que está disponible en la mayoría de los sistemas UNIX.
Debería verse algo así (desde un recuadro de AIX)
vmstat System configuration: lcpu=4 mem=12288MB ent=2.00 kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------------------- r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 2 1 1614644 585722 0 0 1 22 104 0 808 29047 2767 12 8 77 3 0.45 22.3
las columnas "avm" y "fre" le informan la memoria total y los memery gratuitos.
un "hombre vmstat" debería obtener los detalles sangrientos.
Aquí están los básicos. Sin embargo, no estoy seguro de que ninguno de estos cuente como "claro y simple".
ps(1)
Para la vista de nivel de proceso:
$ ps -opid,vsz,rss,osz,args
PID VSZ RSS SZ COMMAND
1831 1776 1008 222 ps -opid,vsz,rss,osz,args
1782 3464 2504 433 -bash
$
vsz / VSZ: tamaño total del proceso virtual (kb)
rss / RSS: tamaño del conjunto residente (kb, puede ser inexacto (!), ver hombre)
osz / SZ: tamaño total en la memoria (páginas)
Para calcular el tamaño del byte de las páginas:
$ sz_pages=$(ps -o osz -p $pid | grep -v SZ )
$ sz_bytes=$(( $sz_pages * $(pagesize) ))
$ sz_mbytes=$(( $sz_bytes / ( 1024 * 1024 ) ))
$ echo "$pid OSZ=$sz_mbytes MB"
vmstat(1M)
$ vmstat 5 5
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr rm s3 -- -- in sy cs us sy id
0 0 0 535832 219880 1 2 0 0 0 0 0 -0 0 0 0 402 19 97 0 1 99
0 0 0 514376 203648 1 4 0 0 0 0 0 0 0 0 0 402 19 96 0 1 99
^C
prstat(1M)
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
1852 martin 4840K 3600K cpu0 59 0 0:00:00 0.3% prstat/1
1780 martin 9384K 2920K sleep 59 0 0:00:00 0.0% sshd/1
...
swap(1)
Modos de "larga lista" y "resumen":
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 256,1 16 1048560 1048560
$ swap -s
total: 42352k bytes allocated + 20192k reserved = 62544k used, 607672k available
$
top(1)
Hay disponible una versión anterior (3.51) en el CD complementario de Solaris de Sun, con la exención de responsabilidad de que se trata de "Comunidad (no Sun) compatible". Paquetes binarios más recientes disponibles en sunfreeware.com o blastwave.org.
load averages: 0.02, 0.00, 0.00; up 2+12:31:38 08:53:58
31 processes: 30 sleeping, 1 on cpu
CPU states: 98.0% idle, 0.0% user, 2.0% kernel, 0.0% iowait, 0.0% swap
Memory: 1024M phys mem, 197M free mem, 512M total swap, 512M free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
1898 martin 1 54 0 3336K 1808K cpu 0:00 0.96% top
7 root 11 59 0 10M 7912K sleep 0:09 0.02% svc.startd
sar(1M)
¿Y qué pasa con sar
? :)