Description of problem:
Podman is extremely slow on systems under heavy I/O load.
Version-Release number of selected component (if applicable):
Podman 1.4.2 (as build for RHEL 8.1 and Fedora - reproduces on both)
How reproducible:
100%, though severity varies based on the system it is run on
Steps to Reproduce:
1. In terminal 1, run a few containers (`podman run -t -i -d alpine top` works, but the exact contents don't matter)
2. In terminal 2: `dd if=/dev/zero of=<file on same FS as /var/lib/containers> bs=1M`
3. Back in terminal 1: `time podman info` (All other Podman commands except version also affected)
4. Stop the `dd` in terminal 2 and delete the file
Actual results:
The `podman info` in command 3 takes approximately 90 seconds to complete
Expected results:
A more reasonable execution time - a few seconds at most
Additional info:
Problem is caused by several disk writes that are holding execution waiting for the disk. While some writes are unavoidable, we can make Podman's fastpast avoid them in almost all cases.
Test with podman-1.4.2-5.module+el8.1.0+4240+893c1ab8.x86_64, and time the podman info for several times, normally it will take less than 1 second to get the output. But sometimes it takes 6 or 7 seconds. All of these are fit a few seconds. So set this to verified.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHSA-2019:3403