This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Commit a71a026 1 parent a9bbe3c commit a71a026 Copy full SHA for a71a026
File tree 2 files changed +13
-11
lines changed
2 files changed +13
-11
lines changed Original file line number Diff line number Diff line change @@ -207,11 +207,5 @@ healthcheck:
207
207
208
208
## Using jemalloc
209
209
210
- Jemalloc is embedded in the image and can be used instead of the default allocator
211
- (cf main README for more infos).
212
-
213
- To do so you can add this to your ` docker run ` commands:
214
-
215
- ```
216
- -e LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
217
- ```
210
+ Jemalloc is embedded in the image and will be used instead of the default allocator.
211
+ You can read about jemalloc by reading the Synapse [ README] ( ../README.md )
Original file line number Diff line number Diff line change 3
3
import codecs
4
4
import glob
5
5
import os
6
+ import platform
6
7
import subprocess
7
8
import sys
8
-
9
9
import jinja2
10
10
11
11
@@ -213,6 +213,14 @@ def main(args, environ):
213
213
if "-m" not in args :
214
214
args = ["-m" , synapse_worker ] + args
215
215
216
+
217
+ jemallocpath = f"/usr/lib/{ platform .machine ()} -linux-gnu/libjemalloc.so.2"
218
+
219
+ if os .path .isfile (jemallocpath ):
220
+ environ ['LD_PRELOAD' ] = jemallocpath
221
+ else :
222
+ log (f"Could not find { jemallocpath } , will not use" )
223
+
216
224
# if there are no config files passed to synapse, try adding the default file
217
225
if not any (p .startswith ("--config-path" ) or p .startswith ("-c" ) for p in args ):
218
226
config_dir = environ .get ("SYNAPSE_CONFIG_DIR" , "/data" )
@@ -248,9 +256,9 @@ def main(args, environ):
248
256
args = ["python" ] + args
249
257
if ownership is not None :
250
258
args = ["gosu" , ownership ] + args
251
- os .execv ("/usr/sbin/gosu" , args )
259
+ os .execve ("/usr/sbin/gosu" , args , environ )
252
260
else :
253
- os .execv ("/usr/local/bin/python" , args )
261
+ os .execve ("/usr/local/bin/python" , args , environ )
254
262
255
263
256
264
if __name__ == "__main__" :
You can’t perform that action at this time.
0 commit comments