nextcloud / nextcloud/whiteboard

Whiteboard consuming cpu-load without any todo

Open
#1,058 6 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
215
Forks
39
Avg merge
1d 3h
Merged PRs (30d)
32

Description

Hello,

since some weeks i see in my container monitoring that the whiteboard container of my nextcloud aio installation always consumes 40% cpu-utilization and more. Beside that also redis is consuming >20% cpu-utilization. If i stop the whiteboard also the redis utilization goes down. Sometimes restarting the whole aio-stack or only the whiteboard container solves the problem - today it doesn’t. If manually restarting the aio-stack helps it mostly comes back after borg-backup and stack-restart during the night.

Nextcloud App API is not enabled in aio-stack.

Some environmental information:

OS: ubuntu 24.04
Docker-Version: 29.2.1
Nextcloud-Version 32.0.6
Reverse-Proxy: traefik 3.6.7

Nextcloud Logs:

nothing usable or noticeable.

Nextcloud config-List:
export from occ config:list
{
    "system": {
        "one-click-instance": true,
        "one-click-instance.user-limit": 100,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "apps_paths": [
            {
                "path": "\/var\/www\/html\/apps",
                "url": "\/apps",
                "writable": false
            },
            {
                "path": "\/var\/www\/html\/custom_apps",
                "url": "\/custom_apps",
                "writable": true
            }
        ],
        "check_data_directory_permissions": false,
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "password": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "overwritehost": "nextcloud.***REMOVED SENSITIVE VALUE***",
        "overwriteprotocol": "https",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost",
            "nextcloud.***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "pgsql",
        "version": "32.0.6.1",
        "overwrite.cli.url": "https:\/\/nextcloud.***REMOVED SENSITIVE VALUE***\/",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "loglevel": "2",
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log",
        "log_rotate_size": "10485760",
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": 2048,
        "preview_max_y": 2048,
        "jpeg_quality": 60,
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita",
            "0": "OC\\Preview\\Imaginary",
            "23": "OC\\Preview\\ImaginaryPDF"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 60",
        "versions_retention_obligation": "auto, 365",
        "default_phone_region": "DE",
        "activity_expire_days": "60",
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "updatedirectory": "\/nc-updater",
        "davstorage.request_timeout": 3600,
        "htaccess.RewriteBase": "\/",
        "dbpersistent": false,
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "allow_local_remote_servers": true,
        "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": 1,
        "mail_sendmailmode": "smtp",
        "mail_smtpsecure": "ssl",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "appsallowlist": false,
        "maintenance_window_start": 100,
        "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
        "auth.bruteforce.protection.enabled": true,
        "ratelimit.protection.enabled": true,
        "data-fingerprint": "74055550e28e3e3ee1464b0f76c8851a",
        "memories.db.triggers.fcu": true,
        "memories.exiftool": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/exiftool-amd64-musl",
        "memories.vod.path": "\/var\/www\/html\/custom_apps\/memories\/bin-ext\/go-vod-amd64",
        "memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
        "memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
        "memories.gis_type": 2,
        "memories.vod.disable": false,
        "documentation_url.server_logs": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/5425",
        "updatechecker": false,
        "DOMAIN": "nextcloud.***REMOVED SENSITIVE VALUE***",
        "AIO_VERSION": "v12.7.0"
    }
}
Nextcloud App-List:
export from occ app:list
Enabled:

    activity: 5.0.0
    admin_audit: 1.22.0
    bruteforcesettings: 5.0.0
    calendar: 6.2.0
    camerarawpreviews: 0.8.8
    circles: 32.0.0
    cloud_federation_api: 1.16.0
    comments: 1.22.0
    contacts: 8.3.3
    contactsinteraction: 1.13.1
    cospend: 3.2.0
    dashboard: 7.12.0
    dav: 1.34.2
    federatedfilesharing: 1.22.0
    federation: 1.22.0
    files: 2.4.0
    files_downloadlimit: 5.0.0-dev.0
    files_external: 1.24.1
    files_pdfviewer: 5.0.0
    files_reminders: 1.5.0
    files_sharing: 1.24.1
    files_trashbin: 1.22.0
    files_versions: 1.25.0
    logreader: 5.0.0
    lookup_server_connector: 1.20.0
    mail: 5.7.0
    memories: 7.8.2
    nextcloud-aio: 0.8.0
    nextcloud_announcements: 4.0.0
    notifications: 5.0.0
    notify_push: 1.3.0
    oauth2: 1.20.0
    password_policy: 4.0.0
    photos: 5.0.0
    previewgenerator: 5.12.1
    privacy: 4.0.0
    profile: 1.1.0
    provisioning_api: 1.22.0
    recognize: 10.0.7
    recommendations: 5.0.0
    related_resources: 3.0.0
    richdocuments: 9.0.2
    serverinfo: 4.0.0
    settings: 1.15.1
    spreed: 22.0.9
    support: 4.0.0
    survey_client: 4.0.0
    suspicious_login: 10.0.0
    systemtags: 1.22.0
    theming: 2.7.0
    twofactor_backupcodes: 1.21.0
    twofactor_nextcloud_notification: 6.0.0
    twofactor_totp: 14.0.0
    twofactor_webauthn: 2.4.1
    updatenotification: 1.22.0
    user_status: 1.12.0
    viewer: 5.0.0
    weather_status: 1.12.0
    webhook_listeners: 1.3.0
    whiteboard: 1.5.6
    workflowengine: 2.14.0
Disabled:
    app_api: 32.0.0 (installed 4.0.5)
    deck: 1.16.3 (installed 1.16.3)
    encryption: 2.20.0 (installed 2.8.1)
    facerecognition: 0.9.70 (installed 0.9.70)
    files_rightclick: 0.15.1 (installed 1.6.0)
    firstrunwizard: 5.0.0 (installed 2.9.0)
    notes: 4.13.0 (installed 4.13.0)
    sharebymail: 1.22.0 (installed 1.10.0)
    tasks: 0.17.1 (installed 0.17.1)
    text: 6.0.1 (installed 3.6.0)
    user_ldap: 1.23.0

Actually i have no idea that the problem might be.
There are no logs in the whiteboard an nothing in redis. I just use my nextcloud in a small family scale. So there is not much traffic on it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the sustained CPU usage in the whiteboard container while monitoring Redis, then inspect the available Nextcloud and container logs; the report says neither currently contains a useful error. Compare behavior across the listed whiteboard, Nextcloud, Docker, and reverse-proxy versions. Done means identifying the trigger and verifying that the whiteboard and Redis utilization remain normal after the relevant workload or nightly restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, javascript, redis
Domain
backend, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.