diff --git a/config.ru b/config.ru
index 530d8e32377846f1bd4352219c696e2054dba149..f6a7dca0542232cba4f396ac642efdde5c91c7b0 100644
--- a/config.ru
+++ b/config.ru
@@ -29,8 +29,12 @@ def cleanup_prometheus_multiproc_dir
   end
 end
 
+def master_process?
+  Prometheus::PidProvider.worker_id.in? %w(unicorn_master puma_master)
+end
+
 warmup do |app|
-  cleanup_prometheus_multiproc_dir
+  cleanup_prometheus_multiproc_dir if master_process?
 
   client = Rack::MockRequest.new(app)
   client.get('/')