Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to tune memory when running image in OpenShift #518

Open
dtsao opened this issue Jun 28, 2023 · 1 comment
Open

How to tune memory when running image in OpenShift #518

dtsao opened this issue Jun 28, 2023 · 1 comment

Comments

@dtsao
Copy link

dtsao commented Jun 28, 2023

Container platform

OCP 4

Version

postgresql-15:1-10 from https://catalog.redhat.com/software/containers/rhel8/postgresql-15/63d29a05fd1c4f5552a305b3?architecture=amd64&tag=1-10&push_date=1684253325000

running via a deployment config on Openshift 4.10

OS version of the container image

RHEL 8

Bugzilla, Jira

No response

Description

The readme for v15 refers to the --memory parameter. Where do I set the --memory parameter in an Openshift deployment config (DC) so that the shared_buffers and effective_cache_size are set automatically?

My DC has resource limits configured under spec:template:spec as:

      containers:
        - resources:
            limits:
              cpu: '1'
              memory: 4Gi
            requests:
              cpu: 100m
              memory: 400Mi

but my shared_buffers is the default 128MB:

# show shared_buffers;
 shared_buffers
----------------
 128MB
(1 row)

Do you recommend that I instead manually set the shared_buffers and effective_cache_size parameters by editing the postgresql.conf file located at /var/lib/pgsql/data/userdata/postgresql.conf?


FYI - For anyone who comes across this post due to errors like this in their logs:

ERROR:  could not resize shared memory segment "/PostgreSQL.1237418266" to 33554432 bytes: No space left on device

You should check the space allocated to /dev/shm:

sh-4.4$ df -h
Filesystem                            Size  Used Avail Use% Mounted on
...
shm                                    64M  1.1M   63M   2% /dev/shm
...

I increased the /dev/shm space from 64M to 128M via the technique here: https://stackoverflow.com/questions/43373463/how-to-increase-shm-size-of-a-kubernetes-container-shm-size-equivalent-of-doc/63152020#63152020

by adding lines to the DC:

spec:
  template:
    spec:
      volumes:
        - name: dshm
          emptyDir:
            medium: Memory
            sizeLimit: 128Mi
	   containers:
          volumeMounts:
            - name: dshm
              mountPath: /dev/shm

After the above DC change, the could not resize shared memory segment errors have stopped.

Reproducer

No response

@fila43
Copy link
Member

fila43 commented Jul 17, 2023

Off the top of my head, It seems that you tried to set up a higher memory limit than available, so the server set the default one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants