<< Chapter < Page Chapter >> Page >

Después, requiere saber cuánta memoria tiene su sistema. Desafortunadamente, no existe un comando UNIX estándar para eso. En los sistemas RS/6000, /etc/lscfg se lo dice. En una máquina SGI, /etc/hinv lo hace. Muchas implementaciones de UNIX Sistema V tienen un comando /etc/memsize . En un derivado de Berkeley, puede teclear:


% ps aux

Este comando le devuelve un listado de todos los procesos ejecutándose en la máquina. Encuentre el proceso con el valor más grande en la columna %MEM . Divida el valor en el campo RSS entre el porcentaje de memoria usado, para obtener un valor aproximado de cuánta memoria tiene su máquina:


memory = RSS/(%MEM/100)

Por ejemplo, si el proceso más grande muestra un uso de memoria del 5% y un tamaño de conjunto residente (RSS, resident set size) de 840 KB, su máquina tiene 840000/(5/100) = 16 MB de memoria. ¡También puede usted reiniciar su máquina! Ella le dirá cuánta memoria tiene disponible al arranque. Si la respuesta del comando size muestra un total cercano a la cantidad de memoria que tiene, hay una buena posibilidad de que ocurra intercambio de páginas cuando lo ejecute - especialmente si está realizando otras cosas en la máquina al mismo tiempo.

Comprobando los fallos de página

Sus herramientas de monitoreo de rendimiento del sistema le indican si su programa está realizando intercambio de páginas. Algo de intercambio está bien; los fallos de página ocurren de manera natural conforme se ejecuta el programa. Sin embargo, sea cuidadoso si está compitiendo por los recursos del sistema con otros usuarios. La imagen que obtendrá no será la misma que cuando tenga la computadora para usted solo.

Para comprobar la actividad de intercambio de páginas en un sistema UNIX derivado de Berkeley, use el comando vmstat . Comúnmente la gente lo invoca con un incremento de tiempo, de forma que reporte el intercambio de páginas a intervalos regulares:


% vmstat 5

Este comando produce una línea de salida cada cinco segundos:


procs memory page disk faults cpu r b w avm fre re at pi po fr de sr s0 d1 d2 d3 in sy cs us sy id0 0 0 824 21568 0 0 0 0 0 0 0 0 0 0 0 20 37 13 0 1 98 0 0 0 840 21508 0 0 0 0 0 0 0 1 0 0 0 251 186 156 0 10 900 0 0 846 21460 0 0 0 0 0 0 0 2 0 0 0 248 149 152 1 9 89 0 0 0 918 21444 0 0 0 0 0 0 0 4 0 0 0 258 143 152 2 10 89

Como puede observar, produce mucha información. Para nuestros propósitos, los campos importantes son avm , que significa "memoria virtual activa" ( active virtual memory ), fre o "memoria real libre" ( free real memory ), y los campos pi y po , cuyos números muestran la actividad de paginación. Cuando la cantidad en fre cae a valores cercanos a cero, y el campo po muestra mucha actividad, es una indicación de que el sistema de memoria está saturándose.

En una máquina con SysV, la actividad de paginación puede observarse mediante el comando sar :


% sar -r 5 5

Este comando le muestra la cantidad de memoria libre y el espacio de intercambio disponible al instante. Si el valor de memoria libre está bajo, puede asumir que su programa realizará intercambio de páginas:


Sat Apr 18 20:42:19 [r]freemem freeswap 4032 82144

Como mencionamos previamente, su desea ejecutar un trabajo mayor que el tamaño de memoria que posee su máquina, debe aplicar para la actividad de intercambio de páginas el mismo consejo que aplica para la actividad de cache. Por cierto, ¿está recibiendo el mensaje “Out of memory?” Si está ejecutando csh , pruebe a teclear unlimit para ver si el mensaje desaparece. De otro modo, puede significar que no tiene suficiente espacio de intercambio disponible para ejecutar el trabajo. Trate de minimizar el tamaño de incremento en los bucles de su código, y cuando no pueda, bloquear las referencias a memoria ayudará muchísimo.

Una nota sobre las herramientas de monitoreo de rendimiento de la memoria: debe comprobar con el vendedor de su estación de trabajo si tienen disponible alguna herramienta además de vmstat o sar . Puede que exista alguna herramienta mucho más sofisticada (y tal vez gráfica) que le ayude a comprender cómo es que su programa utiliza la memoria.

Questions & Answers

a perfect square v²+2v+_
Dearan Reply
kkk nice
Abdirahman Reply
algebra 2 Inequalities:If equation 2 = 0 it is an open set?
Kim Reply
or infinite solutions?
Kim
y=10×
Embra Reply
if |A| not equal to 0 and order of A is n prove that adj (adj A = |A|
Nancy Reply
rolling four fair dice and getting an even number an all four dice
ramon Reply
Kristine 2*2*2=8
Bridget Reply
Differences Between Laspeyres and Paasche Indices
Emedobi Reply
No. 7x -4y is simplified from 4x + (3y + 3x) -7y
Mary Reply
is it 3×y ?
Joan Reply
J, combine like terms 7x-4y
Bridget Reply
im not good at math so would this help me
Rachael Reply
how did I we'll learn this
Noor Reply
f(x)= 2|x+5| find f(-6)
Prince Reply
f(n)= 2n + 1
Samantha Reply
Need to simplify the expresin. 3/7 (x+y)-1/7 (x-1)=
Crystal Reply
. After 3 months on a diet, Lisa had lost 12% of her original weight. She lost 21 pounds. What was Lisa's original weight?
Chris Reply
preparation of nanomaterial
Victor Reply
Yes, Nanotechnology has a very fast field of applications and their is always something new to do with it...
Himanshu Reply
can nanotechnology change the direction of the face of the world
Prasenjit Reply
At high concentrations (>0.01 M), the relation between absorptivity coefficient and absorbance is no longer linear. This is due to the electrostatic interactions between the quantum dots in close proximity. If the concentration of the solution is high, another effect that is seen is the scattering of light from the large number of quantum dots. This assumption only works at low concentrations of the analyte. Presence of stray light.
Ali Reply
the Beer law works very well for dilute solutions but fails for very high concentrations. why?
bamidele Reply
how did you get the value of 2000N.What calculations are needed to arrive at it
Smarajit Reply
Got questions? Join the online conversation and get instant answers!
QuizOver.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Cómputo de alto rendimiento. OpenStax CNX. Sep 02, 2011 Download for free at http://cnx.org/content/col11356/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Cómputo de alto rendimiento' conversation and receive update notifications?

Ask