1
top - 06:49:29 up 16 days,  4:04,  1 user,  load average: 1.29, 1.41, 1.51
Tasks: 113 total,   2 running, 111 sleeping,   0 stopped,   0 zombie
%Cpu(s): 89.3 us, 10.7 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1015912 total,    98976 free,   157212 used,   759724 buff/cache
KiB Swap:  2097148 total,  1861284 free,   235864 used.   644952 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  835 root      20   0  734828  40864   8564 S  5.0  4.0 355:51.95 fortnoxd
20518 root      20   0  748864  41780  12884 S  4.0  4.1  64:35.14 travelpayd
 3147 root      20   0  982540  23532   6712 S  2.3  2.3 295:10.06 node
11230 root      20   0  679384  21044  13552 R  1.7  2.1   0:00.05 nodejs
30422 mongodb   20   0  319176   4184      0 S  0.7  0.4  66:08.82 mongod
    7 root      20   0       0      0      0 S  0.3  0.0  16:20.24 rcu_sched
  984 root      20   0       0      0      0 S  0.3  0.0   4:42.43 hwrng
29166 root      20   0   42084   3736   3176 R  0.3  0.4   0:00.23 top
    1 root      20   0   37968   5548   3584 S  0.0  0.5   0:32.93 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.20 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   3:19.36 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
   10 root      rt   0       0      0      0 S  0.0  0.0   0:04.40 watchdog/0
   11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs

Hello Stackexchange, I have recently been having some issues regarding high cpu usage, I am using a paid service from Vultr, and they are complaining that im using too much CPU power lol, This is my top list, on the vultr website it says im using 105% CPU power on this server, although I only see maybe 12% being used?

Are these 4 processes the only ones consuming power, or are there other things that could cause high usage?

835 root      20   0  734828  40864   8564 S  5.0  4.0 355:51.95 fortnoxd
20518 root      20   0  748864  41780  12884 S  4.0  4.1  64:35.14 travelpayd
 3147 root      20   0  982540  23532   6712 S  2.3  2.3 295:10.06 node
11230 root      20   0  679384  21044  13552 R  1.7  2.1   0:00.05 nodejs


root@server-nodes:/# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Model name:            Virtual CPU 714389bda930
Stepping:              1
CPU MHz:               2399.996
BogoMIPS:              4799.99
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              16384K
NUMA node0 CPU(s):     0
  • How many CPUs did you rent for this? Presumably 1 if two running tasks and load average of 1.5 means 0% idle CPU. Also, resource consumption can be misleading if they give you more logical CPUs than your physical CPU quota - add `lscpu` output to your question. – John Mahowald Nov 09 '18 at 14:19
  • thanks for the reply, I have just ordered 1 cpu on the cheapest package available. I have just added my lscpu output above – john bullock Nov 09 '18 at 14:29
  • actually its the $5 a month package – john bullock Nov 09 '18 at 14:51

1 Answers1

1

The first and most important question: does host's performance meet your requirements. User response time, throughput. If not, change it: make the workload more efficient or add more resource (more CPUs, scale out to more boxes).

You have a 1 CPU box that sometimes reports 1.5 load average. More than one task waiting to run will fully utilize a 1 CPU box, on average. (Whether fully utilized means stalled is another question.)

Note from the man page what top is measuring:

%CPU -- CPU Usage The task's share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time.

Since the last update interval in top may not catch bursts to 100%. Look at the TIME column for the total CPU consumed over the process's lifetime.

Also try other Linux performance tools, there are many. perf top for example will show exactly where in user or kernel code top jobs are.

John Mahowald
  • 30,009
  • 1
  • 17
  • 32
  • Hi... Do you know what the column "Overhead" means, when using "perf top"? – Raul Chiarella Jul 23 '22 at 17:53
  • 1
    Overhead is the fraction of samples, in this case on CPU. Called that because using more resources is less efficient - overhead. I only mention Linux perf because top and ps are relatively infrequent snapshots of the process list, and cannot profile a system in detail. – John Mahowald Jul 25 '22 at 04:08