Open
Description
Support guidelines
- I've read the support guidelines
I've found a bug and checked that ...
- ... the documentation does not mention anything about my problem
- ... there are no open or closed issues that are related to my problem
Description
diun serve stayed constant high CPU usage until container stopped. I tried a workaround, limit cpu by compose and setting process niceness to idle for less impact.
Expected behaviour
less cpu time
Actual behaviour
Steps to reproduce
After a day of running with this config, sometime it happened.
Diun version
4.28.0
Docker info
Client: Docker Engine - Community
Version: 27.2.1
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.16.2
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.29.2
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 130
Running: 115
Paused: 0
Stopped: 15
Images: 267
Server Version: 27.2.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
runc version: v1.1.14-0-g2c9f560
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.10.7-microsoft-Stratosphere-xanmod1
Operating System: Ubuntu 22.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 32
Total Memory: 125.8GiB
Name: wsl2
ID: 5b99cc90-71aa-11ef-b9f5-5ebbf69eeefa
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: true
Docker Compose config
diun:
image: crazymax/diun
container_name: image-update-notifier-diun
command: serve
volumes:
- "Docker-Image-Update-Notifier-diun:/data"
- "${DOCKER_SOCKET_PATH:-/var/run/docker.sock}:/var/run/docker.sock"
- ./reniced/Dockerfile:/reniced/Dockerfile:ro
environment
- "LOG_LEVEL=info"
- "LOG_JSON=false"
- "DIUN_WATCH_FIRSTCHECKNOTIF=false"
- "DIUN_WATCH_WORKERS=1"
- DIUN_WATCH_SCHEDULE="0 */6 * * *"
- "DIUN_WATCH_JITTER=3h"
# WRN Cannot get remote manifest error=
- "DIUN_WATCH_COMPAREDIGEST=false" # HEAD requests
- "DIUN_REGOPTS_DOCKER_NAME=docker.io"
- "DIUN_REGOPTS_DOCKER_SELECTOR=image"
- "DIUN_REGOPTS_DOCKER_TIMEOUT=120s"
- "DIUN_REGOPTS_GHCR_NAME=ghcr.io"
- "DIUN_REGOPTS_GHCR_SELECTOR=image"
- "DIUN_REGOPTS_GHCR_TIMEOUT=120s"
- "DIUN_PROVIDERS_DOCKER=true"
- "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true"
- "DIUN_PROVIDERS_DOCKER_WATCHSTOPPED=true"
- "DIUN_PROVIDERS_DOCKERFILE=true"
- "DIUN_PROVIDERS_DOCKERFILE_PATTERNS=**/Dockerfile*"
restart: unless-stopped
cpus: 0.01
Logs
INF Image update found image=docker.io/ubuntu/bind9:latest provider=docker
INF Image update found image=docker.io/willfarrell/autoheal:latest provider=docker
Additional info
CMD | serve
ENTRYPOINT | diun
ENV | DIUN_DB_PATH /data/diun.db DIUN_PROVIDERS_DOCKER true DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT true DIUN_PROVIDERS_DOCKER_WATCHSTOPPED true DIUN_PROVIDERS_DOCKERFILE true DIUN_PROVIDERS_DOCKERFILE_PATTERNS **/Dockerfile* DIUN_REGOPTS_DOCKER_NAME docker.io DIUN_REGOPTS_DOCKER_SELECTOR image DIUN_REGOPTS_DOCKER_TIMEOUT 120s DIUN_REGOPTS_GHCR_NAME ghcr.io DIUN_REGOPTS_GHCR_SELECTOR image DIUN_REGOPTS_GHCR_TIMEOUT 120s DIUN_WATCH_COMPAREDIGEST false DIUN_WATCH_FIRSTCHECKNOTIF false DIUN_WATCH_JITTER 3h DIUN_WATCH_SCHEDULE "0 */6 * * *" DIUN_WATCH_WORKERS 1 LOG_JSON false LOG_LEVEL info PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PROFILER_PATH /profiler | DIUN_DB_PATH | /data/diun.db | DIUN_PROVIDERS_DOCKER | true | DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT | true | DIUN_PROVIDERS_DOCKER_WATCHSTOPPED | true | DIUN_PROVIDERS_DOCKERFILE | true | DIUN_PROVIDERS_DOCKERFILE_PATTERNS | **/Dockerfile* | DIUN_REGOPTS_DOCKER_NAME | docker.io | DIUN_REGOPTS_DOCKER_SELECTOR | image | DIUN_REGOPTS_DOCKER_TIMEOUT | 120s | DIUN_REGOPTS_GHCR_NAME | ghcr.io | DIUN_REGOPTS_GHCR_SELECTOR | image | DIUN_REGOPTS_GHCR_TIMEOUT | 120s | DIUN_WATCH_COMPAREDIGEST | false | DIUN_WATCH_FIRSTCHECKNOTIF | false | DIUN_WATCH_JITTER | 3h | DIUN_WATCH_SCHEDULE | "0 */6 * * *" | DIUN_WATCH_WORKERS | 1 | LOG_JSON | false | LOG_LEVEL | info | PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | PROFILER_PATH | /profiler
DIUN_DB_PATH | /data/diun.db
DIUN_PROVIDERS_DOCKER | true
DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT | true
DIUN_PROVIDERS_DOCKER_WATCHSTOPPED | true
DIUN_PROVIDERS_DOCKERFILE | true
DIUN_PROVIDERS_DOCKERFILE_PATTERNS | **/Dockerfile*
DIUN_REGOPTS_DOCKER_NAME | docker.io
DIUN_REGOPTS_DOCKER_SELECTOR | image
DIUN_REGOPTS_DOCKER_TIMEOUT | 120s
DIUN_REGOPTS_GHCR_NAME | ghcr.io
DIUN_REGOPTS_GHCR_SELECTOR | image
DIUN_REGOPTS_GHCR_TIMEOUT | 120s
DIUN_WATCH_COMPAREDIGEST | false
DIUN_WATCH_FIRSTCHECKNOTIF | false
DIUN_WATCH_JITTER | 3h
DIUN_WATCH_SCHEDULE | "0 */6 * * *"
DIUN_WATCH_WORKERS | 1
LOG_JSON | false
LOG_LEVEL | info
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PROFILER_PATH | /profiler
Image [crazymax/diun@sha256:ecac071c00b8af8887c851a2fadf16054dcae0ec4876de19cd6acc5133fcae2f](https://portainer.12.dedyn.io/#!/92/docker/images/sha256%3Aecac071c00b8af8887c851a2fadf16054dcae0ec4876de19cd6acc5133fcae2f)
CMD serve
ENTRYPOINT diun
ENV
DIUN_DB_PATH /data/diun.db
DIUN_PROVIDERS_DOCKER true
DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT true
DIUN_PROVIDERS_DOCKER_WATCHSTOPPED true
DIUN_PROVIDERS_DOCKERFILE true
DIUN_PROVIDERS_DOCKERFILE_PATTERNS **/Dockerfile*
DIUN_REGOPTS_DOCKER_NAME docker.io
DIUN_REGOPTS_DOCKER_SELECTOR image
DIUN_REGOPTS_DOCKER_TIMEOUT 120s
DIUN_REGOPTS_GHCR_NAME ghcr.io
DIUN_REGOPTS_GHCR_SELECTOR image
DIUN_REGOPTS_GHCR_TIMEOUT 120s
DIUN_WATCH_COMPAREDIGEST false
DIUN_WATCH_FIRSTCHECKNOTIF false
DIUN_WATCH_JITTER 3h
DIUN_WATCH_SCHEDULE "0 */6 * * *"
DIUN_WATCH_WORKERS 1
LOG_JSON false
LOG_LEVEL info
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PROFILER_PATH /profiler