AMP
AMP copied to clipboard
Usage Stats Not Displaying Correctly on ARM64
Bug Report
System Information
- Ubuntu 22.04.1 (Oracle VM)
- 2.4.0.10
- Release (aarch64)
I confirm:
- [x] that I have searched for an existing bug report for this issue.
- [x] that I am using the latest available version of AMP.
- [x] that my operating system is up-to-date.
Symptoms
- What are you trying to do? See the CPU usage and RAM usage of a Forge MC Server.
- What are you expecting to happen? To be able to see the circular % graphic give detail.
- What is actually happening? ('Nothing' is not an acceptable answer!) The circles stay at 0% even when server is operating.
Reproduction
Open up the ports on the VM Cloud instance. Follow the AMP instructions to install. Create a Forge Server. Start it.
This also affects Paper servers (probably all). I believe it is specific to Ubuntu 22.04 on ARM, based on:
- my Ubuntu 22.04 install on AMD working fine
- my install on ARM previously working fine on 20.04 (ie before upgrade to 22.04)
Perhaps there is something different with how htop behaves on 22.04 on ARM.
Does htop
report the expected usage?
Yeah, htop command seems to be working fine. Managed to find a nice SSH app on my phone to be able to check while out and about.
Can anyone verify if this is in fact an issue specific to Oracle VMs? Or does it occur on other ARM64 systems? Ideally on bare metal.
This happens on my rpi400 as well.
Note that the overall stats for the server shows the correct RAM amount available, but no CPU core count. This is from an Oracle instance, but same for a Pi.
Gonna look into this on my oracle vm, specifically if using a different os works
Note that the overall stats for the server shows the correct RAM amount available, but no CPU core count. This is from an Oracle instance, but same for a Pi.
What's the output of lscpu
on these systems? If AMP is reporting 0C/0T then that would cause metrics calculation to get funky.
Note that the overall stats for the server shows the correct RAM amount available, but no CPU core count. This is from an Oracle instance, but same for a Pi.
What's the output of
lscpu
on these systems? If AMP is reporting 0C/0T then that would cause metrics calculation to get funky.
This is the output of the command on an oracle vm on 22.04.
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: ARM
Model name: Neoverse-N1
Model: 1
Thread(s) per core: 1
Core(s) per cluster: 4
Socket(s): -
Cluster(s): 1
Stepping: r3p1
BogoMIPS: 50.00
Flags: fp asimd evtstrm aes pmull s
ha1 sha2 crc32 atomics fphp
asimdhp cpuid asimdrdm lrcpc
dcpop asimddp ssbs
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Not affected
Spec store bypass: Mitigation; Speculative Stor
e Bypass disabled via prctl
Spectre v1: Mitigation; __user pointer s
anitization
Spectre v2: Mitigation; CSV2, BHB
Srbds: Not affected
Tsx async abort: Not affected
Ah interesting! So it reports as 0 sockets, and uses 'Clusters' rather than 'Cores'.
AMP was taking the 'Threads per core' value and multiplying it by the 'Cores per socket' which made everything have a value of 0.
Fixed in CI.
Ah interesting! So it reports as 0 sockets, and uses 'Clusters' rather than 'Cores'.
AMP was taking the 'Threads per core' value and multiplying it by the 'Cores per socket' which made everything have a value of 0.
Fixed in CI. I am still experiencing issues with the latest version. Is it supposed to be fixed now? The cpu and ram info reports correctly although usage is broken.
I'm still experiencing this as well. Running Ubuntu 22.04.2 on Oracle VM 2.4.2.0
So, more data points to allow this to be fixed properly.
/proc/<pid>/stat
For comparison, tested with an identical Minecraft server on Ubuntu 22.04 on an Oracle ARM instance and an X64 LXD container:
ARM:
86233 (java) S 84209 84209 84209 34820 84209 1077936128 362959 8043 6997 208 14912 585 15 6 20 0 38 0 39951638 4895793152 328874 18446744073709551615 187650166030336 187650166034668 281474226972688 0 0 0 0 3145728 16800975 0 0 0 17 3 0 0 0 0 0 187650166160616 187650166161432 187651059335168 281474226973991 281474226974076 281474226974076 281474226974669 0
X64:
2117835 (java) S 2117412 2117412 2117412 34819 2117412 1077936384 422354 2149 7173 103 15080 486 2 0 20 0 51 0 40064656 6418182144 339646 18446744073709551615 94521982824448 94521982825509 140734136458640 0 0 0 0 3145728 16800975 0 0 0 17 0 0 0 0 0 0 94521982835984 94521982836760 94522002423808 140734136462568 140734136462653 140734136462653 140734136463309 0
No material differences noted.
lscpu
(Courtesy of @IceOfWraith )
ARM:
X64:
Same difference in language/presentation as noted earlier in this thread. Seems like the earlier changes in AMP haven't properly catered for this.
/proc/cpuinfo
(Courtesy of @IceOfWraith )
ARM on left, X64 on right:
So, much less data on ARM.
However, I understand AMP uses lscpu in preference, and Oracle instances have that installed by default.
Bumping this one. I am running AMP on a RPI 4 and it is not showing any details for me as well. Numbers are zero
pi@minepie:~ $ lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Vendor ID: ARM
Model name: Cortex-A72
Model: 3
Thread(s) per core: 1
Core(s) per cluster: 4
Socket(s): -
Cluster(s): 1
Stepping: r0p3
CPU(s) scaling MHz: 100%
CPU max MHz: 1800.0000
CPU min MHz: 600.0000
BogoMIPS: 108.00
Flags: fp asimd evtstrm crc32 cpuid
Caches (sum of all):
L1d: 128 KiB (4 instances)
L1i: 192 KiB (4 instances)
L2: 1 MiB (1 instance)
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Vulnerable
Spectre v1: Mitigation; __user pointer sanitization
Spectre v2: Vulnerable
Srbds: Not affected
Tsx async abort: Not affected
pi@minepie:~ $ at /proc/cpuinfo
-bash: at: Kommando nicht gefunden.
pi@minepie:~ $ cat /proc/cpuinfo
processor : 0
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 1
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 2
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 3
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
Hardware : BCM2835
Revision : d03115
Serial : 10000000527fe074
Model : Raspberry Pi 4 Model B Rev 1.5
pi@minepie:~ $
I will bump this one, too. Specifically Oracle Ampere VM. The cpu core numbers are fixed, and RAM amount is also correct, but usage stats do not work. Always 0% CPU and 0MB RAM stats in the instance although it is running:
htop
works fine. Output of lscpu is following:
Same here with rpi5 (Raspberry PI OS (Debian 12)) : lscpu and htop work well but no CPU/RAM/TPS working on AMP web interface. Is there a way to "fix" this temporarily ?
Bumping this as well. My memory usage and totals are correct but my CPU usage has always been at 0% for any of my instances.
This is a 'wontfix' for the time being because the cause of the problem cannot be identified at this time.