Skip to content

High CPU usage by "z_fr_iss" after deleting large files #3976

Closed
@blind-oracle

Description

@blind-oracle

Problem: after deleting several large files (~50Gb summary) ZFS goes crazy on CPU usage.

For about a minute it hogs all cores (it's 2 x 6 core E5-2620 with HT, 24 CPUs total) to 100% with about 48 running "z_fr_iss_X" threads (or more, hard to say).

Then, when they are done, txg_sync goes for some time using 30% of one core, but that's Ok i presume.

Without PREEMPT kernel this literally blocks all userspace activity for this period of time.
I can switch to PREEMPT as it's now supported by ZFS, but i'd rather not to.

Kernel 4.1.12, ZoL 0.6.5.3, 256Gb RAM.

ZFS created with:

zpool create zfs1 \
-o feature@async_destroy=enabled \
-o feature@empty_bpobj=enabled \
-o feature@lz4_compress=enabled \
-o feature@spacemap_histogram=enabled \
-o feature@enabled_txg=enabled \
-o feature@embedded_data=enabled \
-o feature@hole_birth=enabled \
-o feature@extensible_dataset=enabled \
-o ashift=9 \
-O recordsize=128k \
-O checksum=sha256 \
-O dedup=sha256 \
-O compression=lz4 \
-O atime=off \
-O relatime=off \
-O logbias=latency \
-O primarycache=all \
-O secondarycache=none \
raidz2 \
/dev/mapper/D01_9Y0RA \
/dev/mapper/D02_B9G2A \
/dev/mapper/D03_B01GA \
/dev/mapper/D04_B9GDA \
/dev/mapper/D05_AU1HA \
/dev/mapper/D06_BD4HA \
/dev/mapper/D07_7P85D \
/dev/mapper/D08_93WJA \
/dev/mapper/D09_4394K \
/dev/mapper/D10_BDYKA \
log mirror \
/dev/mapper/SSD1_SLOG \
/dev/mapper/SSD2_SLOG \
/dev/mapper/SSD3_SLOG

Pool size is ~21Tb and it's empty but for these test files.
If there's any more info required - ask.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: InactiveNot being actively updatedType: PerformancePerformance improvement or performance problem

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions