Fixed
- cAdvisor - On small hosts with many Docker images (for example 4 vCPU / 6 GiB RAM with 30 GB of images) cAdvisor sat at its 1 GiB memory limit and swapped continuously, using up to a full CPU core and pushing the host's CPU usage high enough to trigger hosting providers' CPU alerts. It came mainly from its
diskmetrics, which measure every container's layers on disk, together with a 10s housekeeping interval. cAdvisor now runs with--housekeeping_interval=30sand with thediskanddiskIOmetrics disabled; thecontainer_fs_*andcontainer_blkio_*metrics are gone, and none of the bundled dashboards or alerts use them. To get them back, copy the cAdvisorcommand:fromdocker-compose.ymlintodocker-compose.override.ymland removedisk,diskIOfrom its--disable_metrics. If you applied the workaround from the issue, remove itscommand:fromdocker-compose.override.yml: its--disable_metrics=disk,diskIOreplaces cAdvisor's own list of disabled metrics and turns back on the costly ones cAdvisor keeps off by default (per-process, TCP/UDP, referenced memory and others). Itsmem_limit: 2gandmem_reservation: 512mshould not be needed either: with the workaround, which collects more than the new defaults, cAdvisor dropped from 1 GiB to 45 MiB on the reporting host (issue #150).
Upgrade
Run make update; it recreates cadvisor with the new flags. If you added the workaround from #150 to docker-compose.override.yml, remove its cadvisor command: (and the mem_limit / mem_reservation raise) before updating: that command: would replace the new one and turn the costly metrics back on.
Full Changelog: v1.18.1...v1.18.2