As long as there is a runner present, it will cause continuous disk writing.
Closed this issue · 1 comments
Description
- Deploy Gitea using Docker. The database used is MySQL.
- Create a runner and ensure that at least one of the runners is online.(Whether it is the Docker-deployed Act Runner or the local Windows-based
act_runner daemon) - Use
iotopto check the disk write speed. The disk write speed is approximately 1MB/s.
30666 be/4 999 0.00 B 13.62 M 0.00 % 0.16 % mysqld [ib_log_flush]
30664 be/4 999 0.00 B 5.80 M 0.00 % 0.06 % mysqld [ib_log_checkpt]
30648 be/4 999 0.00 B 3.00 M 0.00 % 0.01 % mysqld [ib_pg_flush_co]
30647 be/4 999 0.00 B 672.00 K 0.00 % 0.03 % mysqld [ib_io_wr-4]
30645 be/4 999 0.00 B 608.00 K 0.00 % 0.03 % mysqld [ib_io_wr-2]
30646 be/4 999 0.00 B 448.00 K 0.00 % 0.02 % mysqld [ib_io_wr-3]
30668 be/4 999 0.00 B 284.00 K 0.00 % 0.00 % mysqld [ib_log_writer]
mysql> SELECT table_name, update_time
FROM information_schema.tables
WHERE table_schema='gitea'
ORDER BY update_time DESC -> LIMIT 10;
| TABLE_NAME | UPDATE_TIME |
|:------------------:|:---------------------:|
| action_runner | 2025-09-02 03:45:39 |
| action_runner_token| 2025-09-02 03:40:22 |
| user | 2025-09-02 03:38:05 |
| access_token | 2025-09-01 23:22:28 |
| auth_token | 2025-09-01 03:21:05 |
| access | NULL |
| action | NULL |
| action_artifact | NULL |
| action_run | NULL |
| action_run_index | NULL |
Gitea Version
1.24.5
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.49.1
Operating System
Synology
How are you running Gitea?
I am running Gitea on a Synology NAS using Docker. The container is based on the official gitea/gitea:latest image.
Deployment details:
Platform: Synology DSM 7.2.1
Installation method: Docker (Synology Docker UI)
Gitea image: gitea/gitea:latest
Database: MySQL 8.0 (running as a separate Docker container)
Database
MySQL/MariaDB
Looks to be a duplicate of #33881.
The problem has to do with the fact that when the runner is registered and running, we capture the time we last heard from it and write it to the database. A good solution mentioned in the issue is to just store this value in memory or a service like Redis.
For now I believe there maybe a solution to reduce the database writes, and that is to increase the time your act_runner instance polls the Gitea instance for tasks. The config should be fetch_interval.