diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py
index 371c300cac7d661e5a82183a391241f7f3bf8971..bfdbbc9a23891adbbde2c7b44e84a240b05b7e3e 100644
--- a/synapse/metrics/__init__.py
+++ b/synapse/metrics/__init__.py
@@ -34,6 +34,8 @@ all_metrics = []
 all_collectors = []
 all_gauges = {}
 
+HAVE_PROC_SELF_STAT = os.path.exists("/proc/self/stat")
+
 
 class RegistryProxy(object):
 
@@ -99,6 +101,8 @@ class CPUMetrics(object):
         self.ticks_per_sec = ticks_per_sec
 
     def collect(self):
+        if not HAVE_PROC_SELF_STAT:
+            return
 
         with open("/proc/self/stat") as s:
             line = s.read()