Define size for /dev/shm on container engine

40.3k views Asked by At

I'm running Chrome with xvfb on Debian 8. It works until I open a tab and try to load content. The process dies silently...

Fortunately, I have gotten it to run smoothly on my local docker using docker run --shm-size=1G.

There is a known bug in Chrome that causes it to crash when /dev/shm is too small.

I am deploying to Container engine, and inspecting the OS specs. The host OS has a solid 7G mounted to /dev/shm, but the actual container is only allocated 64M. Chrome crashes.

How can I set the size of /dev/shm when using kubectl to deploy to container engine?

3

There are 3 answers

10
posit labs On BEST ANSWER

Mounting an emptyDir to /dev/shm and setting the medium to Memory did the trick!

spec:
  volumes:
  - name: dshm
    emptyDir:
      medium: Memory
  containers:
  - image: gcr.io/project/image
    volumeMounts:
      - mountPath: /dev/shm
        name: dshm
0
sarawgeek On

In my case it was the resource limit which was causing the issue. It was set to 128 MB earlier then I changed it to 1 Gigs and it started working.

resources:
      limits:
        cpu: 300m
        memory: 128Mi

Changed to:

resources:
      limits:
        cpu: 300m
        memory: 1Gi
1
Dima Prokopenko On
docker run --cap-add=SYS_ADMIN --shm-size 2G --name chrome chrome-hd

to run container locally where

--shm-size 2G

is used to tweak shm available size.