Quarkus: Feidhmchláir á Nuachóiriú Ag Úsáid Helloworld mar Shamplaí ó JBoss EAP Quickstart (ar lean)

Dia duit gach duine - seo é an cúigiú post inár sraith Quarkus! (Dála an scéil, féach ar ár webinar “Is é seo Quarkus - creat Java dúchais Kubernetes”. Taispeánfaimid duit conas tosú ón tús nó réitigh réidh a aistriú)

Quarkus: Feidhmchláir á Nuachóiriú Ag Úsáid Helloworld mar Shamplaí ó JBoss EAP Quickstart (ar lean)

В post roimhe seo d'fhéachamar ar fheidhmchláir Java a nuachóiriú ag baint úsáide as teicneolaíochtaí Quarkus-tacaithe (CDI agus Servlet 3) ag baint úsáide as an gclár helloworld ón stór mar shampla Ardán Feidhmchláir Fiontraíochta Red Hat JBoss (JBoss EAP) Quickstart. Sa lá atá inniu leanfaimid ar aghaidh leis an ábhar a bhaineann le nuachóiriú agus pléifimid ceist tomhaltas cuimhne.

Tá tomhas feidhmíochta mar bhunús bunúsach beagnach aon uasghrádú, agus tá tuairisciú úsáide cuimhne mar chuid thábhachtach den phróiseas anailíse feidhmíochta. Inniu féachfaimid ar na huirlisí tomhais ábhartha is féidir a úsáid chun na feabhsuithe a baineadh amach trí fheidhmchláir Java a nuachóiriú a chainníochtú.

Le haghaidh tuilleadh faisnéise maidir le húsáid chuimhne a thomhas, féach an teagaisc Quarkus dar teideal Feidhmíocht a Thomhas - Conas a thomhaisimid úsáid chuimhne?

Anseo thíos taispeánfaimid duit conas sonraí úsáide cuimhne a chur i gcomparáid le haghaidh trí chineál éagsúla feidhmchlár (JBoss EAP, pacáiste JAR, agus inrite) trí na sonraí a bhailiú ar Linux ag baint úsáide as na fóntais pmap agus ps.

JBoss EAP

Seolaimid sampla den fheidhmchlár JBoss EAP (féach an rannán “Imscaradh helloworld” i post roimhe seo) agus ansin breathnú ar a PID próiseas (inár sampla tá sé 7268) ag baint úsáide as an ordú seo a leanas:

$ pgrep -lf jboss
7268 java

Tabhair faoi deara. Ceadaíonn an rogha -a duit an líne ordaithe iomlán a bhaint (ie: $ pgrep -af jboss).

Anois úsáidimid PID 7268 sna horduithe ps agus pmap.

Seo mar sin:

$ ps -o pid,rss,command -p 7268
PID RSS COMMAND 
7268 665348 java -D[Standalone] -server -verbose:gc -Xloggc:/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferI

Agus mar seo:

$ pmap -x 7268
7268:   java -D[Standalone] -server -verbose:gc -Xloggc:/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standa
Address           Kbytes     RSS   Dirty Mode  Mapping
00000000ae800000 1348608  435704  435704 rw---   [ anon ]
0000000100d00000 1035264       0       0 -----   [ anon ]
000055e4d2c2f000       4       4       0 r---- java
000055e4d2c30000       4       4       0 r-x-- java
000055e4d2c31000       4       0       0 r---- java
000055e4d2c32000       4       4       4 r---- java
000055e4d2c33000       4       4       4 rw--- java
[...]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- -------
total kB         3263224  672772  643024

Breathnaímid ar an luach RSS agus feicimid go n-ídíonn JBoss EAP thart ar 650 MB de chuimhne.

Pacáiste JAR

Seolaimid an feidhmchlár JAR (féach an rannán “Rith helloworld pacáistithe i JAR” isteach post roimhe seo):

$ java -jar ./target/helloworld-<version>-runner.jar

Breathnaímid ar an PID arís ag baint úsáide as an ordú pgrep (an uair seo úsáidimid an -a rogha a thuairiscítear thuas):

$ pgrep -af helloworld
6408 java -jar ./target/helloworld-<version>-runner.jar

Rithimid ps agus pmap chun úsáid chuimhne a thomhas, ach anois le haghaidh próiseas 6408.

Seo mar sin:

$ ps -o pid,rss,command -p 6408
  PID   RSS COMMAND
 6408 125732 java -jar ./target/helloworld-quarkus-runner.jar

Agus mar seo:

$ pmap -x 6408
6408:   java -jar ./target/helloworld-quarkus-runner.jar
Address           Kbytes     RSS   Dirty Mode  Mapping
00000005d3200000  337408       0       0 rw---   [ anon ]
00000005e7b80000 5046272       0       0 -----   [ anon ]
000000071bb80000  168448   57576   57576 rw---   [ anon ]
0000000726000000 2523136       0       0 -----   [ anon ]
00000007c0000000    2176    2088    2088 rw---   [ anon ]
00000007c0220000 1046400       0       0 -----   [ anon ]
00005645b85d6000       4       4       0 r---- java
00005645b85d7000       4       4       0 r-x-- java
00005645b85d8000       4       0       0 r---- java
00005645b85d9000       4       4       4 r---- java
00005645b85da000       4       4       4 rw--- java
[...]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- -------
total kB         12421844  133784  115692

Breathnaímid ar an RSS arís agus feicimid go n-ídíonn an pacáiste JAR thart ar 130 MB.

Comhad inrite

Seolaimid an ceann dúchais (féach an rannán “Rith an comhad inrite dúchais helloworld” i post roimhe seo):

$ ./target/helloworld-<version>-runner

Breathnaímis ar a PID arís:

$ pgrep -af helloworld
6948 ./target/helloworld-<version>-runner

Agus ansin úsáidimid ID an phróisis mar thoradh air (6948) sna horduithe ps agus pmap.

Seo mar sin:

$ ps -o pid,rss,command -p 6948
  PID   RSS COMMAND
 6948 19084 ./target/helloworld-quarkus-runner
И вот так:
$ pmap -x 6948
6948:   ./target/helloworld-quarkus-runner
Address           Kbytes     RSS   Dirty Mode  Mapping
0000000000400000      12      12       0 r---- helloworld-quarkus-runner
0000000000403000   10736    8368       0 r-x-- helloworld-quarkus-runner
0000000000e7f000    7812    6144       0 r---- helloworld-quarkus-runner
0000000001620000    2024    1448     308 rw--- helloworld-quarkus-runner
000000000181a000       4       4       4 r---- helloworld-quarkus-runner
000000000181b000      16      16      12 rw--- helloworld-quarkus-runner
0000000001e10000    1740     156     156 rw---   [ anon ]
[...]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- -------
total kB         1456800   20592    2684

Breathnaímid ar an RSS agus feicimid go dtógann an comhad inrite suas le 20 MB de chuimhne.

Comparáid a dhéanamh ar thomhaltas cuimhne

Mar sin, fuaireamar na huimhreacha seo a leanas le haghaidh úsáide cuimhne:

  • JBoss EAP - 650 MB.
  • Pacáiste JAR - 130 MB.
  • Comhad inrite - 20 MB.

Ar ndóigh, glacann an comhad inrite suas cuimhne i bhfad níos lú.

Déanaimis achoimre ar phoist 4 agus 5

Sa phost seo agus sna poist roimhe seo, d’fhéachamar ar fheidhmchláir Java a nuachóiriú ag baint úsáide as teicneolaíochtaí a fhaigheann tacaíocht ó Quarkus (CDI agus Servlet 3), chomh maith le bealaí éagsúla chun feidhmchláir den sórt sin a fhorbairt, a thógáil agus a rith. Thaispeáin muid conas sonraí úsáide cuimhne a bhailiú chun na feabhsuithe a baineadh amach le huasghrádú den sórt sin a mheas. Cuidíonn na hailt seo leat tuiscint a fháil ar an gcaoi a n-oibríonn Quarkus agus cén fáth a bhfuil sé úsáideach - cibé an bhfuil tú ag caint ar an gclár simplí helloworld inár samplaí nó feidhmchláir fhíorshaolta i bhfad níos casta.

Beidh muid ar ais i gceann coicíse le post deiridh faoi Quarkus - feicfidh tú ann!

Inár bpost deiridh, taispeánfaimid conas AMQ Online agus Quarkus a chur le chéile chun córas teachtaireachtaí nua-aimseartha OpenShift-bhunaithe a thógáil ag baint úsáide as dhá theicneolaíocht teachtaireachtaí nua. Léigh ar aghaidh nasc.

Foinse: will.com

Add a comment