Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

100% CPU usage on a core #1247

Open
3 tasks done
4-FLOSS-Free-Libre-Open-Source-Software opened this issue Sep 13, 2024 · 0 comments
Open
3 tasks done

100% CPU usage on a core #1247

4-FLOSS-Free-Libre-Open-Source-Software opened this issue Sep 13, 2024 · 0 comments

Comments

@4-FLOSS-Free-Libre-Open-Source-Software
Copy link

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

diun serve

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant