CubeCoders / AMP

Issue tracking and documentation for AMP
https://cubecoders.com/AMP
207 stars 38 forks source link

Usage Stats Not Displaying Correctly on ARM64 #788

Open EliasRipley opened 1 year ago

EliasRipley commented 1 year ago

Bug Report

System Information

I confirm:

Symptoms

Reproduction

Open up the ports on the VM Cloud instance. Follow the AMP instructions to install. Create a Forge Server. Start it.

Greelan commented 1 year ago

This also affects Paper servers (probably all). I believe it is specific to Ubuntu 22.04 on ARM, based on:

Perhaps there is something different with how htop behaves on 22.04 on ARM.

PhonicUK commented 1 year ago

Does htop report the expected usage?

EliasRipley commented 1 year ago

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.

PhonicUK commented 1 year ago

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.

IceOfWraith commented 1 year ago

This happens on my rpi400 as well.

IceOfWraith commented 1 year ago

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.

image

ivybowman commented 1 year ago

Gonna look into this on my oracle vm, specifically if using a different os works

PhonicUK commented 1 year ago

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.

image

What's the output of lscpu on these systems? If AMP is reporting 0C/0T then that would cause metrics calculation to get funky.

ivybowman commented 1 year ago

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.

image

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
PhonicUK commented 1 year ago

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.

ivybowman commented 1 year ago

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.

Snablorangen commented 1 year ago

I'm still experiencing this as well. Running Ubuntu 22.04.2 on Oracle VM 2.4.2.0

Greelan commented 1 year ago

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: image

X64: image

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: image

So, much less data on ARM.

However, I understand AMP uses lscpu in preference, and Oracle instances have that installed by default.

firegate666 commented 10 months ago

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:~ $
Tomson124 commented 6 months ago

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: grafik

htop works fine. Output of lscpu is following: grafik

Vodianoi commented 5 months ago

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 ?

darkkon21218 commented 4 months ago

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. image image

PhonicUK commented 4 months ago

This is a 'wontfix' for the time being because the cause of the problem cannot be identified at this time.