Amazon EC2 m8a.metal-48xl 651743 SPECjbb2015-MultiJVM max-jOPS
224400 SPECjbb2015-MultiJVM critical-jOPS
Tested by: Infobell IT Solutions Pvt. Ltd. Test Sponsor: Infobell IT Solutions Pvt. Ltd. Test location: Bengaluru,IND Test date: May 22, 2026
SPEC license #: 6723 Hardware Availability: Oct-2025 Software Availability: Feb-2026 Publication: Thu Jun 25 13:02:27 EDT 2026
Benchmark Results Summary
 
Overall Throughput RT curve
Overall SUT (System Under Test) Description
VendorAmazon Web Services (AWS)
Vendor URLhttps://aws.amazon.com/ec2/instance-types/m8a/
System SourceSingle Supplier
System DesignationServer Rack
Total Systems1
All SUT Systems IdenticalYES
Total Nodes1
All Nodes IdenticalYES
Nodes Per System1
Total Chips2
Total Cores192
Total Threads192
Total Memory Amount (GB)768
Total OS Images1
SW EnvironmentNon-virtual
 
Hardware hw_1
NameAmazon EC2 m8a.metal-48xl
VendorAmazon Web Services (AWS)
Vendor URLhttps://aws.amazon.com/ec2/instance-types/m8a/
AvailableOct-2025
Modelm8a.metal-48xl
Form FactorNone
CPU NameAMD EPYC 9R45 96-Core Processor
CPU Characteristics96 core, 2.6 GHz, 384MB L3 Cache (Max frequency 4.5 GHz)
Number of Systems1
Nodes Per System1
Chips Per System2
Cores Per System192
Cores Per Chip96
Threads Per System192
Threads Per Core1
Version1.0
CPU Frequency (MHz)2600
Primary Cache32KB(I) + 48KB(D) per core
Secondary Cache1MB (I+D) per core
Tertiary Cache384MB (I+D) on chip per chip
Other CacheNone
Disk1x 500GB EBS
File Systemext4
Memory Amount (GB)768
# and size of DIMM(s)24 x 32GB
Memory DetailsDDR5 6400 MT/s
# and type of Network Interface Cards (NICs)75 Gbps
Power Supply Quantity and Rating (W)None
Other HardwareNone
Cabinet/Housing/EnclosureNone
Shared DescriptionNone
Shared CommentNone
Notes
  • NA: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown) is mitigated in the system as tested and documented.
  • Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1) is mitigated in the system as tested and documented.
  • Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2) is mitigated in the system as tested and documented.
  • The submitter confirms that the benchmark configuration and execution comply with the applicable Terms of Service and usage policies of the hardware, software, and service providers on which the system under test was deployed
Other Hardware network_1
NameNone
VendorNone
Vendor URLNone
VersionNone
AvailableNone
BitnessNone
NotesNone
Operating System os_1
NameUbuntu 24.04.4 LTS
VendorUbuntu
Vendor URLhttps://ubuntu.com/
Version6.17.0-1012-aws
AvailableFeb-2026
Bitness64
NotesNone
Java Virtual Machine jvm_1
NameOracle Java SE 25.0.2
VendorOracle
Vendor URLhttp:http://oracle.com/
VersionJava HotSpot 64-bit Server VM, version 25.0.2
AvailableJan-2026
Bitness64
NotesNone
Other Software other_1
NameNone
VendorNone
Vendor URLNone
VersionNone
AvailableNone
BitnessNone
NotesNone
Hardware
OS Images os_Image_1(1)
Hardware Description hw_1
Number of Systems 1
SW Environment non-virtual
Tuning None
Notes None
OS Image os_Image_1
JVM Instances jvm_Ctr_1(1), jvm_Backend_1(24), jvm_TxInjector_1(24)
OS Image Description os_1
Tuning

  • tuned-adm profile throughput-performance
  • ulimit -n 1024000
  • echo 960000 > /proc/sys/kernel/sched_rt_runtime_us
  • echo 9000000 > /proc/sys/kernel/sched_base_slice_ns
  • echo NO_WAKEUP_PREEMPTION > /sys/kernel/debug/sched/features
  • echo 40000 > /proc/sys/kernel/sched_migration_cost_ns
  • echo 9000 > /proc/sys/kernel/sched_nr_migrate
  • echo 10000 > /proc/sys/vm/dirty_expire_centisecs
  • echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
  • echo 40 > /proc/sys/vm/dirty_ratio
  • echo 10 > /proc/sys/vm/dirty_background_ratio
  • echo 10 > /proc/sys/vm/swappiness
  • echo 0 > /proc/sys/kernel/numa_balancing
  • echo 0 > /proc/sys/vm/numa_stat
  • echo always > /sys/kernel/mm/transparent_hugepage/enabled
  • echo always > /sys/kernel/mm/transparent_hugepage/defrag

Notes None
JVM Instance jvm_Ctr_1
Parts of Benchmark Controller
JVM Instance Description jvm_1
Command Line

-Xms2g -Xmx2g -Xmn1536m -XX:+UseParallelGC -XX:ParallelGCThreads=1 -XX:CICompilerCount=2

Tuning

Used numactl to interleave memory on all CPUs

  • numactl --interleave=all

Notes None
JVM Instance jvm_Backend_1
Parts of Benchmark Backend
JVM Instance Description jvm_1
Command Line

-Xms26g -Xmx26g -Xmn24g -XX:AllocatePrefetchInstr=2 -XX:+UseParallelGC -XX:ParallelGCThreads=8 -XX:LargePageSizeInBytes=2m -XX:-UseAdaptiveSizePolicy -XX:+AlwaysPreTouch -XX:+UseLargePages -XX:SurvivorRatio=12 -XX:TargetSurvivorRatio=95 -XX:MaxTenuringThreshold=15 -XX:InlineSmallCode=11k -XX:MaxGCPauseMillis=100 -XX:LoopUnrollLimit=200 -XX:+UseTransparentHugePages -XX:TLABAllocationWeight=2 -XX:ThreadStackSize=140 -XX:CompileThresholdScaling=120 -XX:CICompilerCount=4 -XX:AutoBoxCacheMax=32 -XX:OnStackReplacePercentage=100 -XX:TLABSize=1m -XX:MinTLABSize=1m -XX:-ResizeTLAB -XX:TLABWasteTargetPercent=1 -XX:TLABWasteIncrement=1 -XX:YoungPLABSize=1m -XX:OldPLABSize=1m

Tuning

Used numactl to affinitize each Backend JVM to 8 Core/ 8 Threads

  • Group1: numactl --physcpubind=0-7 --localalloc
  • Group2: numactl --physcpubind=8-15 --localalloc
  • Group3: numactl --physcpubind=16-23 --localalloc
  • Group4: numactl --physcpubind=24-31 --localalloc
  • Group5: numactl --physcpubind=32-39 --localalloc
  • Group6: numactl --physcpubind=40-47 --localalloc
  • Group7: numactl --physcpubind=48-55 --localalloc
  • Group8: numactl --physcpubind=56-63 --localalloc
  • Group9: numactl --physcpubind=64-71 --localalloc
  • Group10: numactl --physcpubind=72-79 --localalloc
  • Group11: numactl --physcpubind=80-87 --localalloc
  • Group12: numactl --physcpubind=88-95 --localalloc
  • Group13: numactl --physcpubind=96-103 --localalloc
  • Group14: numactl --physcpubind=104-111 --localalloc
  • Group15: numactl --physcpubind=112-119 --localalloc
  • Group16: numactl --physcpubind=120-127 --localalloc
  • Group17: numactl --physcpubind=128-135 --localalloc
  • Group18: numactl --physcpubind=136-143 --localalloc
  • Group19: numactl --physcpubind=144-151 --localalloc
  • Group20: numactl --physcpubind=152-159 --localalloc
  • Group21: numactl --physcpubind=160-167 --localalloc
  • Group22: numactl --physcpubind=168-175 --localalloc
  • Group23: numactl --physcpubind=176-183 --localalloc
  • Group24: numactl --physcpubind=184-191 --localalloc

Notes None
JVM Instance jvm_TxInjector_1
Parts of Benchmark TxInjector
JVM Instance Description jvm_1
Command Line

-Xms2g -Xmx2g -Xmn1536m -XX:+UseParallelGC -XX:ParallelGCThreads=1 -XX:CICompilerCount=2

Tuning

Used numactl to affinitize each TxInjector JVM to 8 Core/ 8 Threads

  • Group1: numactl --physcpubind=0-7 --localalloc
  • Group2: numactl --physcpubind=8-15 --localalloc
  • Group3: numactl --physcpubind=16-23 --localalloc
  • Group4: numactl --physcpubind=24-31 --localalloc
  • Group5: numactl --physcpubind=32-39 --localalloc
  • Group6: numactl --physcpubind=40-47 --localalloc
  • Group7: numactl --physcpubind=48-55 --localalloc
  • Group8: numactl --physcpubind=56-63 --localalloc
  • Group9: numactl --physcpubind=64-71 --localalloc
  • Group10: numactl --physcpubind=72-79 --localalloc
  • Group11: numactl --physcpubind=80-87 --localalloc
  • Group12: numactl --physcpubind=88-95 --localalloc
  • Group13: numactl --physcpubind=96-103 --localalloc
  • Group14: numactl --physcpubind=104-111 --localalloc
  • Group15: numactl --physcpubind=112-119 --localalloc
  • Group16: numactl --physcpubind=120-127 --localalloc
  • Group17: numactl --physcpubind=128-135 --localalloc
  • Group18: numactl --physcpubind=136-143 --localalloc
  • Group19: numactl --physcpubind=144-151 --localalloc
  • Group20: numactl --physcpubind=152-159 --localalloc
  • Group21: numactl --physcpubind=160-167 --localalloc
  • Group22: numactl --physcpubind=168-175 --localalloc
  • Group23: numactl --physcpubind=176-183 --localalloc
  • Group24: numactl --physcpubind=184-191 --localalloc

Notes None
max-jOPS = jOPS passed before the First Failure
Pass/Fail Pass Pass Pass Fail Fail
jOPS 638022 644882 651743 658603 665464
critical-jOPS = Geomean ( jOPS @ 10000; 25000; 50000; 75000; 100000; SLAs )
Response time percentile is 99-th
SLA (us) 10000 25000 50000 75000 100000 Geomean
jOPS 147499 193616 227538 270130 324156 224400
  Percentile
  10-th 50-th 90-th 95-th 99-th 100-th
500us 6860 / 13721 - / 6860 - / 6860 - / 6860 - / 6860 - / 6860
1000us 89186 / 96046 27442 / 34302 - / 6860 - / 6860 - / 6860 - / 6860
5000us 370464 / 377325 178372 / 185232 116628 / 123488 109767 / 116628 89186 / 96046 - / 6860
10000us 397906 / 404767 308720 / 315581 219534 / 226395 205813 / 212674 144069 / 150930 - / 6860
25000us 411627 / 418487 391046 / 397906 343022 / 349883 315581 / 308720 205813 / 150930 27442 / 20581
50000us 418487 / 425348 404767 / 411627 377325 / 384185 349883 / 336162 233255 / 198953 27442 / 20581
75000us 425348 / 432208 411627 / 418487 384185 / 391046 370464 / 363604 288139 / 240116 27442 / 20581
100000us 432208 / 439069 418487 / 425348 397906 / 404767 377325 / 384185 329302 / 308720 27442 / 20581
200000us 466511 / 473371 439069 / 445929 418487 / 425348 418487 / 425348 404767 / 363604 185232 / 34302
500000us 651743 / 610580 500813 / 507673 466511 / 473371 459650 / 466511 452790 / 445929 377325 / 150930
1000000us 651743 / - 651743 / - 583138 / 589999 562557 / 569417 528255 / 535115 439069 / 384185
Probes jOPS / Total jOPS
Request Mix Accuracy
Note
(Actual % in the Mix - Expected % in the Mix) must be within:
'Main Tx' limit of +/-5.0% for the requests whose expected % in the mix is >= 10.0%
'Minor Tx' limit of +/-1.0% for the requests whose expected % in the mix is < 10.0%
There were no non-critical failures in Response Time curve building
Delay between status pings
IR/PR Accuracy
This section lists properties only set by user
Property Name Default Controller Group1.Backend.beJVM Group1.TxInjector.txiJVM1 Group10.Backend.beJVM Group10.TxInjector.txiJVM1 Group11.Backend.beJVM Group11.TxInjector.txiJVM1 Group12.Backend.beJVM Group12.TxInjector.txiJVM1 Group13.Backend.beJVM Group13.TxInjector.txiJVM1 Group14.Backend.beJVM Group14.TxInjector.txiJVM1 Group15.Backend.beJVM Group15.TxInjector.txiJVM1 Group16.Backend.beJVM Group16.TxInjector.txiJVM1 Group17.Backend.beJVM Group17.TxInjector.txiJVM1 Group18.Backend.beJVM Group18.TxInjector.txiJVM1 Group19.Backend.beJVM Group19.TxInjector.txiJVM1 Group2.Backend.beJVM Group2.TxInjector.txiJVM1 Group20.Backend.beJVM Group20.TxInjector.txiJVM1 Group21.Backend.beJVM Group21.TxInjector.txiJVM1 Group22.Backend.beJVM Group22.TxInjector.txiJVM1 Group23.Backend.beJVM Group23.TxInjector.txiJVM1 Group24.Backend.beJVM Group24.TxInjector.txiJVM1 Group3.Backend.beJVM Group3.TxInjector.txiJVM1 Group4.Backend.beJVM Group4.TxInjector.txiJVM1 Group5.Backend.beJVM Group5.TxInjector.txiJVM1 Group6.Backend.beJVM Group6.TxInjector.txiJVM1 Group7.Backend.beJVM Group7.TxInjector.txiJVM1 Group8.Backend.beJVM Group8.TxInjector.txiJVM1 Group9.Backend.beJVM Group9.TxInjector.txiJVM1
specjbb.comm.connect.client.pool.size 256 150 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170 256 170
specjbb.comm.connect.selector.runner.count 0 10 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5 20 5
specjbb.comm.connect.timeouts.connect 60000 900000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000
specjbb.comm.connect.timeouts.read 60000 800000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000
specjbb.comm.connect.timeouts.write 60000 800000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000 60000
specjbb.comm.connect.worker.pool.max 256 150 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200 256 200
specjbb.comm.connect.worker.pool.min 1 16 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
specjbb.controller.maxir.maxFailedPoints 3 1
specjbb.customerDriver.threads 64 {probe=130, saturate=300, service=160}
specjbb.forkjoin.workers 192 {Tier1=650, Tier2=35, Tier3=120}
specjbb.group.count 1 24
specjbb.mapreducer.pool.size 192 10
specjbb.txi.pergroup.count 1 1
View table in csv format
 
Level: COMPLIANCE
Check Agent Result
Check properties on compliance All PASSED
 
Level: CORRECTNESS
Check Agent Result
Compare SM and HQ Inventory All PASSED
High-bound (max attempted) is 686045 IR
High-bound (settled) is 681946 IR