Skip to main content

Kworker processes are eating my host's cpu (and server load is high)


when you look for kworker processes you see many of those

using a lot of CPU and making your server load very high

 $ ps -aux | grep kworker

root        15  0.0  0.0      0     0 ?        S    Aug12   0:00 [kworker/1:0]
root        16  0.0  0.0      0     0 ?        S<   Aug12   0:00 [kworker/1:0H]
root        85  0.0  0.0      0     0 ?        S<   Aug12   0:09 [kworker/0:1H]
root      3562  0.0  0.0      0     0 ?        S<   Aug12   0:00 [kworker/0:2H]
root      5578  0.0  0.0      0     0 ?        S    11:13   0:01 [kworker/0:0]
root      5579  0.0  0.0      0     0 ?        S    11:13   0:00 [kworker/u4:1]
root      8789  0.1  0.0      0     0 ?        S    12:19   0:10 [kworker/0:2]
root     30236  0.0  0.0      0     0 ?        S    08:39   0:01 [kworker/u4:0]

top:

top - 10:10:17 up 20:15,  3 users,  load average: 24.01, 28.04, 19.36
Tasks: 436 total,   1 running, 435 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.2 us,  0.0 sy,  0.0 ni, 97.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

so what's going on??

there is a probability you linux server is on "Power saving" mode
means that cpu is not started until an application is requesting a cpu 
then there is a lot of traffic and interrupts between kernel and cpus if you application is a bit greedy

how to identify your linux server is on power saving mode?

look at the CPU frequency - if it's not equal and on max level, ask your IT guy to change it

[root@server111 ~]# cat /proc/cpuinfo | grep MHz
cpu MHz         : 1200.000
cpu MHz         : 2130.000
cpu MHz         : 1200.000
cpu MHz         : 2700.000
cpu MHz         : 1200.000
cpu MHz         : 1200.000
cpu MHz         : 1230.000
cpu MHz         : 1200.000
cpu MHz         : 1200.000
cpu MHz         : 1200.000
cpu MHz         : 1200.000
cpu MHz         : 1200.000
cpu MHz         : 2475.000
cpu MHz         : 1200.000
cpu MHz         : 1200.000
cpu MHz         : 2400.000
cpu MHz         : 2415.000  



after fixing and rebooting the server:

[root@server111 ~]# cat /proc/cpuinfo | grep MHz
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400
cpu MHz         : 2693.400

top:
top - 06:54:45 up  3:39,  2 users,  load average: 0.10, 0.18, 0.22
Tasks: 424 total,   1 running, 423 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

Comments

Popular posts from this blog

ORA-27104: system-defined limits for shared memory was misconfigured

I faced this error while trying to restore & recover of a PDB (pluggable database) part of the log file and the solution is described here below: log: initialization parameters used for automatic instance: db_name=CDB db_unique_name=gbux_pitr_PDB1_CDB compatible=12.1.0.2.0 db_block_size=8192 db_files=200 diagnostic_dest=/oracle/app/oracle _system_trig_enabled=FALSE sga_target=1888M processes=200 db_create_file_dest=/oracle/auxilary log_archive_dest_1='location=/oracle/auxilary' enable_pluggable_database=true _clone_one_pdb_recovery=true #No auxiliary parameter file used starting up automatic instance CDB RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 07/31/2016 16:22:20 RMAN-04014: startup failed: ORA-27104: system-defined limits for shared

mount.nfs: backgrounding

if you face this kind of error with your remote NFS: [root@Vertica000 ~]# mount /files/application/Rremote3 mount.nfs: backgrounding "10.0.0.2:/files/application/remoteFiles" mount.nfs: mount options: "bg,hard,nointr,rsize=65536,wsize=65536,tcp,actimeo=0,vers=3,timeo=600,addr=10.0.0.2" look for the problem in the log file: cat /var/log/messages | grep mount  mount to NFS server '10.0.0.2' failed: timed out, retrying Solution: In most of the cases, you have a problem with your iptables in the destination server login as root to dest server (10.0.0.2) in my case and type this command: iptables --flush  the go back to your origin server to try remount the problematic NFS file system of course this is in case nfs server was installed and functioning properly. Good luck.

ora-65035 while create pluggable database from another one

or : ORA-21000: error number argument to raise_application_error of -65035 is out of range Cause: this error caused because of an unrecoverable transaction in the source DB. Solution: 1. either stop and start your pluggable source DB 2. identify the open transaction and kill it if you can. use this query to do so: select * from v$transaction t,v$session  s where t.ses_addr = s.saddr;