Fallo en la configuración: No se puede asignar memoria

Hola,

Soy nuevo en Discourse y lo intenté instalar por primera vez. El primer intento ni siquiera creó la base de datos y el segundo, después de (eliminar todo y empezar de cero), vuelve a quejarse:

2022-08-04 18:51:53.698 UTC [41] FATAL:  could not map anonymous shared memory: Cannot allocate memory
2022-08-04 18:51:53.698 UTC [41] HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 1125310464 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

Hay otro error anterior (no sé si es relevante):

I, [2022-08-04T18:51:52.606862 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2022/08/04 18:51:52 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory

La máquina es un servidor virtual (no sé qué tecnología) con 4 GB de RAM y 138 GB de espacio libre.

No pude encontrar ninguna pista adecuada aquí. Por lo tanto, ¿alguna idea sobre cómo solucionarlo?

Gracias de antemano
Roland

1 me gusta

¿Es esta la única cosa que se ejecuta dentro de la VM?

¿Cuál es el resultado de cat /proc/meminfo | grep MemFree?

¿Seguiste la instalación estándar y ejecutaste discourse-setup? Debería ajustar la configuración de memoria para la especificación de la VM, asumiendo que cumple con los requisitos mínimos.

¿Qué son db_shared_buffers, unicorn_workers y db_work_mem en tu app.yml?

1 me gusta

Sí (excepto un pequeño script de Perl).

MemFree: 758840 kB

Pero más de 3 GB son para caché.

Lo último sin ningún cambio.

db_shared_buffers: "1024MB"
no entry for unicorn_workers
#db_work_mem: "40MB"
1 me gusta

Si ha cambiado db_shared_buffers a 512 MB y ha reconstruido la aplicación:

./launcher rebuild app

Eso se ve mucho mejor ahora.

1 me gusta