Ek het 'n voortdurende probleem gehad om 'n Tomcat Java-webtoepassing in 'n docker-houer te laat loop (waarna ek verwys as 'n 'taak' in hierdie pos) wat in 'n ECS (elastic container service) op AWS aangebied word.
Ons merk op dat die taak tot 97% SVE-gebruik klim (met die AWS-metrieke) en hoewel dit soms op sy eie terugklim na 'n laer SVE-gebruik, word die taak oor die algemeen net afgesluit.
Gelukkig skep die ECS 'n nuwe koppelaartaak en begin die toepassing weer (hoewel dit 5-10 minute neem vir alles om aanlyn terug te kom, wat 'n groot hoeveelheid tyd gedurende ons produksiedag is!)

Ons het geen boonste limiet op die ECS-taak wat opgestel is nie (miskien moet ons?) — — in 'n vorige projek het ons die SVE op die ECS-gasheer verhoog van 8 vCPU tot 32 vCPU en sekerlik het hierdie spesifieke docker-taak na die 97% van die ECS-gasheer-SVE aanhoudend deur die projek.

Hierdie week het ons die SVE verhoog van 8 vCPU tot 16 vCPU (en 'n geheue van 64 GB).
En sien dieselfde ding. Ek het die sagte geheue limiet van die taak verhoog na 4 GB (dit was oorspronklik op 2 GB gestel) en ek kan sien hoe die geheue gebruik klim, maar gaan beslis nie meer as ongeveer 6 GB nie.

Volgens die stapelspoor (wat te lank is om te plaas), is daar geen Outof Memory-fout wat deur die tomcat/java-toepassing aangeteken is nie.
Dit begin gewoonlik met 'n JDBC-fout (maksimum verbindings / swembad uitgeput), dan word dinge gederegistreer, die aantekenstelsel word gesluit, ens.

Is die ECS-gasheer besig om die taak af te sluit, of is die taak besig om homself af te sluit nadat die CPU/geheue-beperkings bereik is (java/tomcat sluit homself af)? Verder, in ons ECS-agentlogboek kan ek 'n stelling sien oor 'Afrit 143' -- is hierdie beëindiging van die taak vanaf die ECS of die houer self besig om te verlaat? Sal dit die beste wees om 'n boonste SVE-limiet op die taak te stel (met betrekking tot JVM-geheue, gebruik wat ook al daarvoor beskikbaar is)?

no answer