benoitc / gunicorn

gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.
http://www.gunicorn.org
Other
9.63k stars 1.74k forks source link

Gunicorn exceeds the specified number of workers in actual processes. #3204

Open jzh-upup opened 2 months ago

jzh-upup commented 2 months ago

When I set 30 workers, normally it should maintain 30 workers running. However, during stress testing or when the API responses are slow, it exceeds the specified number of workers. How can I solve this?

jzh-upup commented 2 months ago

Logging

loglevel = 'debug' errorlog = '/var/log/gunicorn/thor-8183.error.log'

Server Hooks

on_starting = _on_starting on_reload = _on_reload when_ready = _when_ready pre_fork = _pre_fork post_fork = _post_fork post_worker_init = _post_worker_init worker_int = _worker_int worker_abort = _worker_abort pre_exec = _pre_exec

pre_request = _pre_request

post_request = _post_request

child_exit = _child_exit worker_exit = _worker_exit nworkers_changed = _nworkers_changed on_exit = _on_exit

Server Mechanics

tmp_upload_dir = '/tmp/gunicorn'

Server Socket

bind = '0.0.0.0:8183'

workers = 30

max_requests = 1000

timeout = 3600

my config, but now

image

pajod commented 2 months ago

First starting fresh workers, only then shutting down old ones, thus briefly exceeding the target count, is how gunicorn enables use cases for serving without noticeable interruption. Do not use graceful reloading or the max_requests feature you this is not what you want (the latter is to limit the damage of memory leaks, do not cargo cult that if you do not need it!)

jzh-upup commented 2 months ago

Alright, I understand how it works,but the ongoing presence of old workers failing to shut down may result in a continuous increase in server memory usage. Is this issue related to the configured timeout settings, and is there a more direct configuration available? Specifically, a mechanism to terminate processes that should have shut down but haven't after a certain period of time.

pajod commented 2 months ago

ongoing presence

Mind sharing logs and ps -f output?

Do you see any unexpected WORKER TIMEOUT message in your logs; does the timing of the Shutting down and Master has been promoted messages in your logs match your expectations of Server reload schedule? If you believe you have leftover processes beyond SIGUSR2 handling, install the setproctitle extra / dependency, it makes reviewing the process list easier.

jzh-upup commented 2 months ago

1,service status ● vdi-thor-gunicorn.service - VDI Thor 8183 Backend Service Loaded: loaded (/usr/lib/systemd/system/vdi-thor-gunicorn.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2024-04-23 10:09:29 CST; 4h 29min ago Process: 399855 ExecStartPre=/bin/mkdir -p /var/log/gunicorn (code=exited, status=0/SUCCESS) Main PID: 399857 (gunicorn) Tasks: 425 (limit: 2052807) Memory: 14.5G CGroup: /docker/ba58cc432bdd18b431aec84d261128e24f7afe3a0dd1a7e16ead56e69cf78856/system.slice/vdi-thor-gunicorn.service ├─ 27632 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 28281 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 88549 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 302161 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 399857 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 399962 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 399979 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 399987 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400008 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400075 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400085 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400092 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400105 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400110 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400121 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400127 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400170 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400178 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400180 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400186 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400210 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400221 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400231 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400259 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400295 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400351 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400357 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400373 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 400399 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 1676119 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 1678160 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 1698401 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 1974040 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 2142185 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 2582023 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 2587704 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 2933486 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 3031738 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 3132603 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 3359999 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 3562929 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application ├─ 3562937 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application └─ 4188905 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application

Notice: journal has been rotated since unit was started, output may be incomplete.

2,[root@vdi-175 ~]# ps -ef | grep console.wsgi:application root 27632 1 0 14:17 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 28281 1 0 14:17 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 88549 1 0 14:21 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 302161 399857 0 14:33 ? 00:00:30 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 399857 1 0 10:09 ? 00:00:04 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 399962 399857 8 10:09 ? 00:33:23 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 399979 399857 11 10:09 ? 00:42:45 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 399987 399857 10 10:09 ? 00:39:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400008 399857 11 10:09 ? 00:42:06 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400075 399857 10 10:09 ? 00:39:15 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400092 399857 10 10:09 ? 00:39:20 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400110 399857 9 10:09 ? 00:36:04 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400121 399857 10 10:09 ? 00:37:34 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400170 399857 9 10:09 ? 00:36:41 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400178 399857 10 10:09 ? 00:37:22 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400180 399857 9 10:09 ? 00:35:39 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400186 399857 9 10:09 ? 00:36:20 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400210 399857 8 10:09 ? 00:31:49 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400221 399857 8 10:09 ? 00:31:23 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400231 399857 7 10:09 ? 00:29:34 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400259 399857 8 10:09 ? 00:30:25 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400295 399857 10 10:09 ? 00:38:32 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400351 399857 10 10:09 ? 00:38:24 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400357 399857 10 10:09 ? 00:37:54 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400373 399857 10 10:09 ? 00:38:30 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 400399 399857 10 10:09 ? 00:38:33 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 468669 399857 0 14:44 ? 00:00:29 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 999551 399857 0 15:17 ? 00:00:13 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 1000176 399857 0 15:17 ? 00:00:19 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 1066603 399857 0 15:21 ? 00:00:21 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 1676119 1 0 11:49 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 1678160 1 0 11:49 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 1698401 1 0 11:51 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 1974040 1 0 12:10 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 2142185 1 0 12:21 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 2259338 1224871 0 16:21 pts/1 00:00:00 grep -a console.wsgi:application root 2582023 399857 7 12:49 ? 00:15:02 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 2587704 399857 6 12:49 ? 00:13:28 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 3031738 1 0 13:15 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 3132603 399857 6 13:21 ? 00:11:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 3359999 1 0 13:33 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 3562929 1 0 13:44 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 3562937 1 0 13:44 ? 00:00:00 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application root 4188905 399857 4 14:15 ? 00:05:58 /usr/bin/python /usr/bin/gunicorn -c console/gunicorn.conf console.wsgi:application

gunicorn logs

thorconsole.log.6:2024-04-23 10:09:33,790 [399962]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 399962> thorconsole.log.6:2024-04-23 10:09:33,686 [399979]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 399979> thorconsole.log.6:2024-04-23 10:09:33,756 [400008]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400008> thorconsole.log.6:2024-04-23 10:09:33,701 [400075]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400075> thorconsole.log.6:2024-04-23 10:09:33,864 [399987]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 399987> thorconsole.log.6:2024-04-23 10:09:33,796 [400085]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400085> thorconsole.log.6:2024-04-23 10:09:33,958 [400110]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400110> thorconsole.log.6:2024-04-23 10:09:34,214 [400092]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400092> thorconsole.log.6:2024-04-23 10:09:34,425 [400121]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400121> thorconsole.log.6:2024-04-23 10:09:34,207 [400170]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400170> thorconsole.log.6:2024-04-23 10:09:34,665 [400105]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400105> thorconsole.log.6:2024-04-23 10:09:34,717 [400186]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400186> thorconsole.log.6:2024-04-23 10:09:34,783 [400180]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400180> thorconsole.log.6:2024-04-23 10:09:34,720 [400210]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400210> thorconsole.log.6:2024-04-23 10:09:34,940 [400231]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400231> thorconsole.log.6:2024-04-23 10:09:34,958 [400206]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400206> thorconsole.log.6:2024-04-23 10:09:34,943 [400127]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400127> thorconsole.log.6:2024-04-23 10:09:34,974 [400178]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400178> thorconsole.log.6:2024-04-23 10:09:34,952 [400259]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400259> thorconsole.log.6:2024-04-23 10:09:35,063 [400290]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400290> thorconsole.log.6:2024-04-23 10:09:35,096 [400295]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400295> thorconsole.log.6:2024-04-23 10:09:35,135 [400189]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400189> thorconsole.log.6:2024-04-23 10:09:35,171 [400285]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400285> thorconsole.log.6:2024-04-23 10:09:35,238 [400221]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400221> thorconsole.log.6:2024-04-23 10:09:35,479 [400315]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400315> thorconsole.log.6:2024-04-23 10:09:35,669 [400339]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400339> thorconsole.log.6:2024-04-23 10:09:35,768 [400351]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400351> thorconsole.log.6:2024-04-23 10:09:35,810 [400373]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400373> thorconsole.log.6:2024-04-23 10:09:35,916 [400357]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400357> thorconsole.log.6:2024-04-23 10:09:35,794 [400399]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 400399>

thorconsole.log.3:2024-04-23 12:50:48,715 [2587704]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 2587704> thorconsole.log.3:2024-04-23 12:50:48,715 [2582023]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 2582023> thorconsole.log.3:2024-04-23 12:51:54,126 [2620103]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 2620103> thorconsole.log.3:2024-04-23 13:10:04,473 [2933486]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 2933486>

thorconsole.log.2:2024-04-23 13:21:39,758 [3132603]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 3132603>

thorconsole.log.1:2024-04-23 14:15:40,558 [4188905]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 4188905>

thorconsole.log:2024-04-23 14:33:57,476 [302161]DEBUG config._post_worker_init:28 [none] gunicorn: post-worker-init worker <Worker 302161>

[root@vdi-175 ~]# lsof -i:8183 | grep LISTEN gunicorn 27632 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 28281 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 88549 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 302161 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 399857 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 399962 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 399979 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 399987 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400008 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400075 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400092 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400110 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400121 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400170 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400178 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400180 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400186 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400210 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400221 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400231 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400259 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400295 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400351 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400357 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400373 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 400399 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 468669 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 999551 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 1000176 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 1066603 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 1676119 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 1678160 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 1698401 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 1974040 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 2142185 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 2582023 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 2587704 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 3031738 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 3132603 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 3359999 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 3562929 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 3562937 root 7u IPv4 172786271 0t0 TCP :proremote (LISTEN) gunicorn 4188905 root 7u IPv4 172786271 0t0 TCP *:proremote (LISTEN)

ps -fo

PID STARTED ELAPSED 27632 Tue Apr 23 14:17:35 2024 02:04:33 PID STARTED ELAPSED 28281 Tue Apr 23 14:17:36 2024 02:04:32 PID STARTED ELAPSED 88549 Tue Apr 23 14:21:33 2024 02:00:35 PID STARTED ELAPSED 302161 Tue Apr 23 14:33:54 2024 01:48:14 PID STARTED ELAPSED 399857 Tue Apr 23 10:09:29 2024 06:12:40 PID STARTED ELAPSED 399962 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 399979 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 399987 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 400008 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 400075 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 400092 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 400110 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 400121 Tue Apr 23 10:09:29 2024 06:12:39 PID STARTED ELAPSED 400170 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400178 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400180 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400186 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400210 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400221 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400231 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400259 Tue Apr 23 10:09:30 2024 06:12:39 PID STARTED ELAPSED 400295 Tue Apr 23 10:09:30 2024 06:12:38 PID STARTED ELAPSED 400351 Tue Apr 23 10:09:30 2024 06:12:38 PID STARTED ELAPSED 400357 Tue Apr 23 10:09:30 2024 06:12:38 PID STARTED ELAPSED 400373 Tue Apr 23 10:09:30 2024 06:12:38 PID STARTED ELAPSED 400399 Tue Apr 23 10:09:30 2024 06:12:38 PID STARTED ELAPSED 468669 Tue Apr 23 14:44:03 2024 01:38:06 PID STARTED ELAPSED 999551 Tue Apr 23 15:17:35 2024 01:04:34 PID STARTED ELAPSED 1000176 Tue Apr 23 15:17:37 2024 01:04:32 PID STARTED ELAPSED 1066603 Tue Apr 23 15:21:33 2024 01:00:36 PID STARTED ELAPSED 1676119 Tue Apr 23 11:49:34 2024 04:32:35 PID STARTED ELAPSED 1678160 Tue Apr 23 11:49:53 2024 04:32:16 PID STARTED ELAPSED 1698401 Tue Apr 23 11:51:49 2024 04:30:20 PID STARTED ELAPSED 1974040 Tue Apr 23 12:10:01 2024 04:12:08 PID STARTED ELAPSED 2142185 Tue Apr 23 12:21:36 2024 04:00:33 PID STARTED ELAPSED PID STARTED ELAPSED 2582023 Tue Apr 23 12:49:33 2024 03:32:36 PID STARTED ELAPSED 2587704 Tue Apr 23 12:49:53 2024 03:32:16 PID STARTED ELAPSED 3031738 Tue Apr 23 13:15:36 2024 03:06:33 PID STARTED ELAPSED 3132603 Tue Apr 23 13:21:35 2024 03:00:34 PID STARTED ELAPSED 3359999 Tue Apr 23 13:33:53 2024 02:48:16 PID STARTED ELAPSED 3562929 Tue Apr 23 13:44:03 2024 02:38:06 PID STARTED ELAPSED 3562937 Tue Apr 23 13:44:03 2024 02:38:06 PID STARTED ELAPSED 4188905 Tue Apr 23 14:15:36 2024 02:06:33