És normal el 40 per cent de l'ús de la RAM?

El servidor RabbitMQ detecta la quantitat total de La RAM està instal· lada a l' ordinador en engegar i quan

conillmqctl set_ vm_ memor_ alta_ marca d' aigua fracció és S' ha executat. Per omissió, quan el servidor RabbitMQ usa el 40% de la RAM disponible, puja una memòria alarma@ info: whatsthis i bloqueja- ho tot Les connexions que publiquen missatges. Una vegada que l'alarma de memòria s'hagi netejat (p. ex. venç al servidor fent missatges al disc o entregant- los a clients que consumeixen i que... Reconeixeu els lliuraments reprès els serveis normals.

El llindar de memòria per omissió està establert al 40% d' instal· lat RAM. Tingueu en compte que això no impedeix el servidor RabbitMQ a partir de l'ús més del 40%, és simplement el punt en què Els editors s'han avançat. El col·leccionista d'escombraries d'Englang, en el pitjor dels casos, perquè dobleu la quantitat de memòria que s' usarà (per omissió, el 80% de la RAM). És força recomanable que SO Els fitxers d' intercanvi o pàgina estan habilitats.

Les arquitectures de 32 bits tendeixen a imposar un límit de memòria per procés De 2GB. Implementació comuna de les arquitectures de 64 bits (i.e. ADM64 i IntelM64T) permet només un pal 256TU per procés. Les finestres de 64 bits donen més límits a 8TB. No obstant això, Tingueu en compte que fins i tot sota SO de 64 bits, un procés de 32 bits sovint Només té un espai màxim d'adreça de 2GB.

El valor per omissió del 0, 4 és per al 40% de disponible (detectat) RAM o El 40 per cent de l' espai d' adreces virtual disponible, el qual sigui Més petit. E.g. En una plataforma de 32 bits amb 4 GiB de RAM instal· lat, el 40% de 4 GB és 1. 6. GiB, però normalment les finestres 32 bits Límits de processos a 2 GiB, per tant el llindar és de fet fins al 40% 2 GiB (que és 820 MiB).

Alternativament, el llindar de memòria es pot ajustar establint un límit absolut de la RAM usat pel node. L' exemple de sota establert El llindar de 10737424 bytes (1024 MiB):

vm_ mibery_ d' alta_ aiguamark. aabsoluta = 107741824

El mateix exemple, però usant unitats de memòria:

vm_ memor_ alt_ aiguamark. aabsoluta = 1024MiB

Si el límit absolut és més gran que la RAM instal· lada o virtual disponible espai d' adreces, el llindar està establert a quin límit és més petit.

El límit de memòria s' afegeix a la fitxer de registre quan el node RabbitMQ Inici:

Quan s' estableix el llindar o el límit absolut 0 , fa que l'alarma de memòria desaparegui@ info: whatsthis De seguida i així, al final, bloqueja totes les connexions de publicació. Això pot ser útil si voleu desactivar la publicació globalment:

El sistema d'alarma de memòria no és perfecte. Mentre s' atura la publicació Això evitarà que s' usi més memòria, és bastant difícil evitar que s' usi possible per a altres coses a continuar augmentant la memòria Ús. Normalment, quan això succeeix i la memòria física s'acaba El SO començarà a intercanviar. Però quan s' està executant amb una adreça limitada L' espai, en execució sobre el límit causarà que el VM finalitzi o mori per un mecanisme fora del sistema operatiu.

Per tant, és recomanable executar RabbitMQ en una part de 64 bits SO i 64 bits Temps d' execució d' Erlang .

Abans que l'arrencada toqui l'alta marca d'aigua i blocs Els editors, intentaran alliberar la memòria indicant-los. cuas a la pàgina del seu contingut al disc. Tots dos persistents i els missatges transitoris seran anul·lats (l' persistents Els missatges ja estaran en disc però seran desallotjats des de Memòria).

Per omissió, això comença a passar quan el Diviador és el 50 per cent de El camí a l'alta marca d'aigua (p.e. amb un valor per omissió alt Marca d' aigua de 0. 4, això és quan s' utilitza el 20% de la memòria. A Canvia aquest valor, modificar el vm_ memor_ alt_ d' aiguamark_ polling_ratio configuració des del seu valor per omissió de 0, 5 . Per exemple:

La configuració de dalt comença a utilitzar el 30% de la memòria, i Editors de blocs al 40%.

És possible. estableix vm_ memor_ alt_ d' aiguamark_ polling_ratio a valor més gran que 1, 0 . En aquest cas, cues No publicarà el seu contingut al disc. Si això causa l' alarma de memòria@ info: whatsthis Per anar-se'n, els productors es bloquejaran tal com s'explica més amunt.

En aquest cas, la vm_ memor_ alt_ marca d' aigua El valor de la configuració s' usa per a escalar l' assumeix 1GB RAM. Amb el valor per omissió de vm_ memor_ alt_ marca d' aigua estableix a 0. 4 El llindar de memòria de RabbitMQ està establert a 410MB, per tant, ho farà Exclou productors cada vegada que en RabbitMQ utilitza més que 410MB memòria. Així, quan en RabbitMQ no pot reconèixer el teu Una plataforma, si realment teniu instal· lada la RAM 8GB i vosaltres Voleu que en RabbitMQ manegi els productors quan el servidor estigui utilitzant Més de 3GB, conjunt vm_ memor_ alt_ marca d' aigua fins a 3.

Artículos Relacionados:

- Memòria RAM -

Esta web usa cookies, puedes ver la política de cookies, aquí -
Política de cookies +