Dia duit gach duine - seo é an cúigiú post inár sraith Quarkus! (Dála an scéil, féach ar ár webinar
В
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
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
$ 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
$ 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
$ ./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
Foinse: will.com