Issue: Nextcloud VM Crashes When Syncing Large Files
Greetings,
I am running Nextcloud AIO (9.6.0) with Nextcloud v29.0.7 on a Proxmox server 8.2.7. The VM dedicated to Nextcloud has the following specs:
- CPU: 12 cores
- RAM: 15 GB
- OS: Ubuntu Server 24.04 LTS
- Connection speeds: 990 Mbit / 500 Mbit
This Nextcloud instance is used by only 4 users. Initially, my entire Proxmox setup was running on a traditional HDD, but I switched to an NVMe disk for reasons I will outline below.
Problem Description:
For over a year now, I have been facing the same issue. Whenever I try to sync a file larger than 1 GB from my PC to the Nextcloud server (for example, a video file), the sync process appears to go smoothly. However, at the final stage of the upload, I observe a significant spike in both RAM and I/O disk activity. This causes the entire VM to shut down, and I have to manually restart it.
Once the VM is back online, the file sync does not resume, and it behaves as if the file has already been synchronized. Unfortunately, the file remains on my local device, unsynced to the server. On the server (via CLI), I only see a temporary file with the .part
extension in the respective directory.
I’ve tested multiple Nextcloud clients, but they all result in the same server crash when syncing large files. The same issue occurs when I try to upload the file via the web interface in a browser. Syncing files around 1 GB completes without issues.
I’ve checked the Nextcloud logs and haven’t found any errors. However, in the Ubuntu server logs, I see a message indicating that the server was “killed” due to an I/O problem.
Attached are screenshots from Proxmox graphs where I attempted to upload a 2.7 GB Linux Mint 22 ISO file.
proxmox-screenshots.pdf (398,7 KB)
Observations:
- Uploading large files to the Ubuntu server via SSH (using Midnight Commander) or rsync works without any problems, even for files in the 5-8 GB range.
- This leads me to believe the issue might be related specifically to Nextcloud.
My Question:
What could be causing this problem, and what would you recommend to resolve it?