You are not logged in.

#1 2018-11-16 07:55:23

nbd
Member
Registered: 2014-08-04
Posts: 389

[SOLVED] How to avoid constant idle HDD writes?

Hello,

I'm observing that there is a constant flow of HDD writing by some kernel threads, which is not happening in other distros. Below is the output of pidstat on a just started system just after shell login with disabled journaling (on ext4) and without any X programs started:

$ pidstat -dl 20
Linux 4.10.3-1-ARCH (localhost) 	11/16/2018 	_x86_64_	(1 CPU)

09:34:33 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
09:34:53 AM     0        28     -1.00     -1.00     -1.00       5  kworker/u8:1
09:34:53 AM     0        93     -1.00     -1.00     -1.00       2  kworker/u8:2
09:34:53 AM     0        95     -1.00     -1.00     -1.00       2  kworker/u8:3
09:34:53 AM     0       192     -1.00     -1.00     -1.00       1  kworker/u8:5 

09:34:53 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
09:35:13 AM     0        28     -1.00     -1.00     -1.00       2  kworker/u8:1
09:35:13 AM     0        93     -1.00     -1.00     -1.00      10  kworker/u8:2
09:35:13 AM     0        95     -1.00     -1.00     -1.00       2  kworker/u8:3
09:35:13 AM     0       192     -1.00     -1.00     -1.00       3  kworker/u8:5

09:35:13 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
09:35:33 AM     0        28     -1.00     -1.00     -1.00       5  kworker/u8:1
09:35:33 AM     0        93     -1.00     -1.00     -1.00       5  kworker/u8:2
09:35:33 AM     0        95     -1.00     -1.00     -1.00       1  kworker/u8:3
09:35:33 AM     0       192     -1.00     -1.00     -1.00       2  kworker/u8:5

What are those worker threads are doing and is there a way to disable them?

Last edited by nbd (2018-11-17 17:50:30)


bing different

Offline

#2 2018-11-16 08:09:34

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,616

Re: [SOLVED] How to avoid constant idle HDD writes?

Update your system, try to reproduce with an up to date kernel. This can also be a side effect of something else requesting IO and simply the relevant kernel threads being busy instead of the application, are you running anything that would lead to "heavy IO" that you aren't running on your other systems (can also be a service does not have to have any relation to a X client)?

Last edited by V1del (2018-11-16 08:15:38)

Offline

#3 2018-11-16 08:36:08

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

With 4.18 kernel it's even worse (in 4.19 it's obviously the same):

Linux 4.18.16-arch1-1-ARCH (localhost) 	11/16/2018 	_x86_64_	(1 CPU)

10:22:03 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
10:22:23 AM     0         7     -1.00     -1.00     -1.00       2  kworker/u8:0-events_freezable_power_
10:22:23 AM     0       100     -1.00     -1.00     -1.00       2  kworker/u8:2-events_freezable_power_
10:22:23 AM     0       145     -1.00     -1.00     -1.00       2  kworker/u8:4-events_unbound
10:22:23 AM     0       228     -1.00     -1.00     -1.00       1  kworker/u8:5-events_freezable_power_
10:22:23 AM     0       252     -1.00     -1.00     -1.00       2  kworker/u8:6-events_freezable_power_

10:22:23 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
10:22:43 AM     0         7     -1.00     -1.00     -1.00       1  kworker/u8:0-flush-8:80
10:22:43 AM     0       100     -1.00     -1.00     -1.00       1  kworker/u8:2-events_freezable_power_
10:22:43 AM     0       145     -1.00     -1.00     -1.00       1  kworker/u8:4-events_freezable_power_
10:22:43 AM     0       228     -1.00     -1.00     -1.00       2  kworker/u8:5-events_freezable_power_
10:22:43 AM     0       252     -1.00     -1.00     -1.00       1  kworker/u8:6-events_freezable_power_

10:22:43 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
10:23:03 AM     0         7     -1.00     -1.00     -1.00       2  kworker/u8:0-events_freezable_power_
10:23:03 AM     0       100     -1.00     -1.00     -1.00       2  kworker/u8:2-events_freezable_power_
10:23:03 AM     0       145     -1.00     -1.00     -1.00       2  kworker/u8:4-events_freezable_power_
10:23:03 AM     0       228     -1.00     -1.00     -1.00       2  kworker/u8:5-events_freezable_power_
10:23:03 AM     0       252     -1.00     -1.00     -1.00       2  kworker/u8:6-events_freezable_power_
V1del wrote:

are you running anything that would lead to "heavy IO"

No, I specially checked the IO just after reboot without running anything. I was presuming these threads do some new kernel feature which is enabled in the default Arch kernel and not enabled or configured in other way on other distros. Don't you observe this picture on your Arch?

EDIT: On just updated system with the latest kernel (4.19.1) the things are the same.

Last edited by nbd (2018-11-16 09:06:46)


bing different

Offline

#4 2018-11-16 09:08:36

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: [SOLVED] How to avoid constant idle HDD writes?

What does a value of -1.00 mean in this context?

On my NAS, I see no such output:

# pidstat -dlh 20
Linux 4.14.81-1-lts (tahoe) 	11/16/2018 	_x86_64_	(4 CPU)

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
03:15:22 AM     0       218      0.00      2.00      0.00       0  jbd2/sda5-8
03:15:22 AM     0       256      0.00      1.00      0.00       0  /usr/lib/systemd/systemd-journald 

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
03:18:02 AM     0       218      0.00      0.20      0.00       0  jbd2/sda5-8
03:18:02 AM     0       256      0.00      0.20      0.00       0  /usr/lib/systemd/systemd-journald 

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

Last edited by graysky (2018-11-16 09:20:03)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#5 2018-11-16 09:24:10

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

graysky wrote:

What does a value of -1.00 mean in this context?

Maybe kernel threads are bypassing measuring their amount of IO and their IO speed is written as -1.


bing different

Offline

#6 2018-11-16 09:25:04

seth
Member
Registered: 2012-09-03
Posts: 50,923

Re: [SOLVED] How to avoid constant idle HDD writes?

Is this really disk IO or just IO?
=> checked iotop?

Offline

#7 2018-11-16 09:25:27

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: [SOLVED] How to avoid constant idle HDD writes?

nbd wrote:
graysky wrote:

What does a value of -1.00 mean in this context?

Maybe kernel threads are bypassing measuring their amount of IO and their IO speed is written as -1.

I suspect it's an access thing... try running the same command as root.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#8 2018-11-16 09:25:48

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

graysky wrote:

On my NAS, I see no such output:

# pidstat -dlh 20
Linux 4.14.81-1-lts (tahoe) 	11/16/2018 	_x86_64_	(4 CPU)

AFAIK LTS kernel is compiled with different parameters.


bing different

Offline

#9 2018-11-16 09:28:06

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

seth wrote:

Is this really disk IO or just IO?
=> checked iotop?

In either case I suspect that this is the activity which causes the constant disk spinning and prevents its standby.


bing different

Offline

#10 2018-11-16 09:35:39

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

graysky wrote:

I suspect it's an access thing... try running the same command as root.

[root@~]# pidstat -dl 20
Linux 4.19.1-arch1-1-ARCH (localhost)     11/16/2018     _x86_64_    (1 CPU)

11:34:56 AM   UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
11:35:16 AM     0       142      0.00      0.00      0.00       2  kworker/u8:5-events_freezable_power_
11:35:16 AM     0       975      0.00      0.00      0.00       4  kworker/u8:0-events_freezable_power_
11:35:16 AM     0       986      0.00      0.00      0.00       2  kworker/u8:2-events_freezable_power_
11:35:16 AM     0      1087      0.00      0.00      0.00       2  kworker/u8:4-events_freezable_power_


bing different

Offline

#11 2018-11-16 09:37:13

seth
Member
Registered: 2012-09-03
Posts: 50,923

Re: [SOLVED] How to avoid constant idle HDD writes?

Maybe, but random IO spinning up random disks is not the most reasonable assumption, so you should rather check.

sudo iotop -oa

Offline

#12 2018-11-16 09:51:41

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

Is there a way to copy the output of iotop to a text file from the console? I rebooted the arch machine, started iotop in the virtual console and currently iotop is running for 10 minutes with constantly active 4 lines with those "freezable_power"  worker threads.


bing different

Offline

#13 2018-11-16 10:03:27

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: [SOLVED] How to avoid constant idle HDD writes?

nbd wrote:

Is there a way to copy the output of iotop to a text file from the console?

Yes, -b switch I think.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#14 2018-11-16 10:19:49

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

This what 'sudo iotop -oa' produces:

Total DISK READ :   1.00 B/s | Total DISK WRITE :  1.16 K/s
Actual DISK READ:  0.00 B/s | Actual DISK WRITE: 1.16 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                     
  234 be/4 root  0.00 B     16.00 K  0.00 %  0.45 % [kworker/u8:5-events_freezable_power_]
    7 be/4 root  0.00 B      4.00 K  0.00 %  0.19 % [kworker/u8:0-events_freezable_power_]
  134 be/4 root  0.00 B      8.00 K  0.00 %  0.11 % [kworker/u8:2-flush-8:80]
  419 be/4 root  0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]

ADDITION: If it may be relevant, the HDD in question is external USB drive.

Last edited by nbd (2018-11-16 10:30:36)


bing different

Offline

#15 2018-11-16 14:39:46

seth
Member
Registered: 2012-09-03
Posts: 50,923

Re: [SOLVED] How to avoid constant idle HDD writes?

usb autosuspend? how frequent do those writes occur?

Offline

#16 2018-11-16 15:14:47

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

seth wrote:

usb autosuspend? how frequent do those writes occur?

They seem to be triggered by timer and occur in regular intervals: usually every minute. This can be seen in the first post.

Those threads look like kernel watchdog threads for providing some sort of kernel functionality. Or maybe they serve as threads for some unknown application.

I wonder is there somebody with the latest stock Arch kernel who doesn't have this happening on their computer?

Last edited by nbd (2018-11-16 15:26:06)


bing different

Offline

#17 2018-11-16 15:35:09

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: [SOLVED] How to avoid constant idle HDD writes?

nbd wrote:

I wonder is there somebody with the latest stock Arch kernel who doesn't have this happening on their computer?

I get the same result on my workstation (4.19.2) as I do on my NAS when my PC is idle.

# pidstat -dlh 20
Linux 4.19.2-arch1-1-ARCH (workbench) 	11/16/2018 	_x86_64_	(12 CPU)

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
10:36:31 AM     0       216      0.00      1.60      0.00       0  jbd2/sda3-8

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command
10:36:51 AM     0       216      0.00      4.80      0.00       1  jbd2/sda3-8

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

# Time        UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command

Last edited by graysky (2018-11-16 15:41:17)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#18 2018-11-16 15:47:40

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

graysky wrote:

I get the same result on my workstation (4.19.2) as I do on my NAS when my PC is idle.

Will look into the running processes then. Thanks.


bing different

Offline

#19 2018-11-16 17:37:38

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

Nonetheless it still seems that it's kernel. This is (part of) "ps -ax" just after reboot:

  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 /sbin/init
    2 ?        S      0:00 [kthreadd]
    3 ?        I<     0:00 [rcu_gp]
    4 ?        I<     0:00 [rcu_par_gp]
    5 ?        I      0:00 [kworker/0:0-events]
    6 ?        I<     0:00 [kworker/0:0H-kblockd]
    7 ?        I      0:00 [kworker/u8:0-events_freezable_power_]
    8 ?        I<     0:00 [mm_percpu_wq]
    9 ?        S      0:00 [ksoftirqd/0]
   10 ?        I      0:00 [rcu_preempt]
   11 ?        I      0:00 [rcu_sched]
   12 ?        I      0:00 [rcu_bh]
   13 ?        S      0:00 [rcuc/0]
   14 ?        S      0:00 [rcub/0]
   15 ?        S      0:00 [migration/0]
   16 ?        S      0:00 [idle_inject/0]
   17 ?        I      0:00 [kworker/0:1-events]
   18 ?        S      0:00 [cpuhp/0]
   19 ?        S      0:00 [kdevtmpfs]
   20 ?        I<     0:00 [netns]
   21 ?        S      0:00 [rcu_tasks_kthre]
   22 ?        S      0:00 [kauditd]
   23 ?        S      0:00 [khungtaskd]
   24 ?        S      0:00 [oom_reaper]
   25 ?        I<     0:00 [writeback]
   26 ?        S      0:00 [kcompactd0]
   27 ?        SN     0:00 [ksmd]
   28 ?        SN     0:00 [khugepaged]
   29 ?        I<     0:00 [crypto]
   30 ?        I<     0:00 [kintegrityd]
   31 ?        I<     0:00 [kblockd]
   32 ?        I<     0:00 [edac-poller]
   33 ?        I<     0:00 [devfreq_wq]
   34 ?        S      0:00 [watchdogd]
   35 ?        I      0:00 [kworker/u8:1-events_freezable_power_]
   36 ?        S      0:00 [kswapd0]
   79 ?        I<     0:00 [kthrotld]
   80 ?        I<     0:00 [acpi_thermal_pm]
   81 ?        I<     0:00 [nvme-wq]
   82 ?        I<     0:00 [nvme-reset-wq]
   83 ?        I<     0:00 [nvme-delete-wq]
   84 ?        I<     0:00 [ipv6_addrconf]
   93 ?        I<     0:00 [kstrp]
  106 ?        I<     0:00 [charger_manager]
  128 ?        I<     0:00 [ata_sff]
  129 ?        S      0:00 [scsi_eh_0]
  130 ?        I<     0:00 [scsi_tmf_0]
  131 ?        S      0:00 [scsi_eh_1]
  132 ?        I<     0:00 [scsi_tmf_1]
  133 ?        I      0:00 [kworker/u8:2-events_freezable_power_]
  134 ?        I      0:00 [kworker/u8:3-events_unbound]
  135 ?        S      0:00 [scsi_eh_2]
  136 ?        I<     0:00 [scsi_tmf_2]
  137 ?        S      0:00 [scsi_eh_3]
  138 ?        I<     0:00 [scsi_tmf_3]
  139 ?        I      0:00 [kworker/u8:4-events_freezable_power_]
  140 ?        I      0:00 [kworker/0:2-events]
  141 ?        I      0:00 [kworker/u8:5-events_freezable_power_]
  142 ?        I      0:00 [kworker/0:3-cgroup_destroy]
  143 ?        S      0:00 [scsi_eh_4]
  144 ?        I<     0:00 [scsi_tmf_4]
  145 ?        S      0:00 [usb-storage]
  146 ?        I<     0:00 [kworker/0:1H-kblockd]
  156 ?        I      0:00 [kworker/u8:6-events_unbound]

And this is "iotop -oabn 20" (note the PID 7, which is started way before any normal user space service):

Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
Total DISK READ :       0.00 B/s | Total DISK WRITE :       3.77 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.23 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:4-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.07 % [kworker/u8:0-events_freezable_power_]
  767 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :      14.98 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.20 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.06 % [kworker/u8:4-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.04 % [kworker/u8:0-events_freezable_power_]
  767 be/4 root          0.00 B     20.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.21 % [kworker/u8:2-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.06 % [kworker/u8:0-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.06 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     20.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.20 % [kworker/u8:2-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.05 % [kworker/u8:0-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.05 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     20.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.18 % [kworker/u8:2-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:0-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.06 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     20.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.15 % [kworker/u8:2-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.10 % [kworker/u8:0-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.05 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     20.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.14 % [kworker/u8:2-flush-8:80]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.10 % [kworker/u8:0-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     20.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       3.75 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.13 % [kworker/u8:2-flush-8:80]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:0-events_freezable_power_]
  767 be/4 root          0.00 B     24.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.14 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:0-events_freezable_power_]
  767 be/4 root          0.00 B     24.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.14 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:4-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:0-events_freezable_power_]
  767 be/4 root          0.00 B     24.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.14 % [kworker/u8:2-events_freezable_power_]
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:0-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     24.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:     379.08 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.53 % [kworker/u8:0-flush-8:80]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     24.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       3.76 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.50 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     28.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.46 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_power_efficient]
  767 be/4 root          0.00 B     28.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       3.76 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.44 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     32.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.41 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.13 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     32.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.40 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_power_efficient]
  767 be/4 root          0.00 B     32.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.39 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.08 % [kworker/u8:4-events_power_efficient]
  767 be/4 root          0.00 B     32.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
    7 be/4 root          0.00 B      0.00 B  0.00 %  0.37 % [kworker/u8:0-events_freezable_power_]
  133 be/4 root          0.00 B      0.00 B  0.00 %  0.12 % [kworker/u8:2-events_freezable_power_]
  139 be/4 root          0.00 B      0.00 B  0.00 %  0.09 % [kworker/u8:4-events_freezable_power_]
  767 be/4 root          0.00 B     32.00 K  0.00 %  0.00 % python /usr/sbin/iotop -oabn 20

Seems that one needs to find out what that "freezable_power" threads are for.


bing different

Offline

#20 2018-11-16 18:14:32

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: [SOLVED] How to avoid constant idle HDD writes?

Something unique to your hardware?  Boot the Arch ISO, install sysstat and repeat.  Same result?


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#21 2018-11-16 21:59:08

seth
Member
Registered: 2012-09-03
Posts: 50,923

Re: [SOLVED] How to avoid constant idle HDD writes?

Only the python script created actual disk IO, though.

Can you hdparm -Y the disk? How log until it spins up again?
Did you try to disable usb autosuspend? https://wiki.archlinux.org/index.php/Po … utosuspend

Offline

#22 2018-11-16 22:26:23

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

On hdparm -Y it doesn't sleep: the command line freezes on the line "issuing sleep command"

[ ~ ]$ sudo hdparm -Y /dev/sdf3

/dev/sdf3:
 issuing sleep command

disk begins constantly flashing until aborting with Ctrl-C. Maybe the fact that the root partition is mounted on it plays some role.

Later I will try booting with ArchISO, as graysky advised, but now I was forced to return back to 4.10 kernel, since upgrading to 4.19 created yet some other issues.


bing different

Offline

#23 2018-11-16 23:18:54

bernd_b
Member
Registered: 2013-07-30
Posts: 164

Re: [SOLVED] How to avoid constant idle HDD writes?

I observe similar similar things and was lead to this place. My hard disk is a sata-drive, not usb.

I tried kernel 4.19.2, 4.19.1, 4.18.16 and 4.18.11, but it seems to make no difference. Nothing I am aware of seems to produce any load, but there remain these "events_freezable_power" threads writing to the hard disk.

[root@amd64-archlinux bernd_b]# iotop -o -b -d 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:      17.56 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  249 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.04 % [kworker/u32:6-events_power_efficient]
  250 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.03 % [kworker/u32:7-events_freezable_power_]
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  250 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.05 % [kworker/u32:7-events_freezable_power_]
  249 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.05 % [kworker/u32:6-events_freezable_power_]
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:      78.97 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  249 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.06 % [kworker/u32:6-events_freezable_power_]
  250 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.06 % [kworker/u32:7-events_freezable_power_]

Last edited by bernd_b (2018-11-16 23:20:20)

Offline

#24 2018-11-16 23:52:58

nbd
Member
Registered: 2014-08-04
Posts: 389

Re: [SOLVED] How to avoid constant idle HDD writes?

bernd_b wrote:

I have two new pcs with exact(!) the same hardware.
One is running with ubuntu, the other is an archlinux system.

I think that the way to the solution is to find out what kernel feature creates those "freezable_power"  threads and then compare the kernel compile configuration parameters enabling that feature in Ubuntu and ArchLinux kernels. There are many search hits with "events_freezable_power_", but I could not find any which explains what those threads are (all those hits are just copy-pastes of some data dumps ).


bing different

Offline

#25 2018-11-17 09:36:33

bernd_b
Member
Registered: 2013-07-30
Posts: 164

Re: [SOLVED] How to avoid constant idle HDD writes?

I get the same behaviour and results booting with the archlinux live cd (2018.11).

Using kernel 

[root@amd64-archlinux bernd_b]# uname -r
4.17.14-arch1-1-ARCH

at least the naming seems to change.

[root@amd64-archlinux bernd_b]# iotop -o -b -d 10
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
Total DISK READ :       0.00 B/s | Total DISK WRITE :     408.58 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:      17.16 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  251 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.06 % [kworker/u32:7]
  252 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.06 % [kworker/u32:8]

Offline

Board footer

Powered by FluxBB