Memory limits from a day of measurements

This commit is contained in:
Ruben Hensen committed 2026-10-28 14:57:34 +01:00
1 parent c3597ef0a6
commit c380bfc0cf
17 files changed
+68 -4

No files matched your search

+4
View File
@@ -103,6 +103,8 @@ spec:
requests: requests:
cpu: 70m cpu: 70m
memory: 560Mi memory: 560Mi
limits:
memory: 1536Mi
volumes: volumes:
- name: patched-ca-bundle - name: patched-ca-bundle
configMap: configMap:
@@ -192,6 +194,8 @@ spec:
requests: requests:
cpu: 100m cpu: 100m
memory: 336Mi memory: 336Mi
limits:
memory: 1Gi
volumes: volumes:
- name: patched-ca-bundle - name: patched-ca-bundle
configMap: configMap:
+6
View File
@@ -38,16 +38,22 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 48Mi memory: 48Mi
limits:
memory: 128Mi
cainjector: cainjector:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 80Mi memory: 80Mi
limits:
memory: 256Mi
webhook: webhook:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 32Mi memory: 32Mi
limits:
memory: 128Mi
syncPolicy: syncPolicy:
syncOptions: syncOptions:
- CreateNamespace=true - CreateNamespace=true
+2
View File
@@ -28,6 +28,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 48Mi memory: 48Mi
limits:
memory: 128Mi
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: cnpg-system namespace: cnpg-system
@@ -24,16 +24,22 @@ spec:
requests: requests:
cpu: 20m cpu: 20m
memory: 64Mi memory: 64Mi
limits:
memory: 128Mi
certController: certController:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 128Mi
webhook: webhook:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 32Mi memory: 32Mi
limits:
memory: 128Mi
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: external-secrets namespace: external-secrets
@@ -21,6 +21,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 128Mi
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: cnpg-system namespace: cnpg-system
+16 -2
View File
@@ -1,6 +1,6 @@
# Requests from what the components used on 2026-10-25 (kubectl top every # Requests from what the components used on 2026-10-25 (kubectl top every
# 5 minutes; highest value plus 10%). No limits until there are daytime # 5 minutes; highest value plus 10%). Memory limits at about twice the
# numbers, see docs/roadmap.md. # highest value seen then or on 2026-10-27, rounded up; no CPU limits.
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
@@ -14,6 +14,8 @@ spec:
requests: requests:
cpu: 150m cpu: 150m
memory: 704Mi memory: 704Mi
limits:
memory: 2560Mi
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -28,6 +30,8 @@ spec:
requests: requests:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
limits:
memory: 512Mi
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -42,6 +46,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 256Mi
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -56,6 +62,8 @@ spec:
requests: requests:
cpu: 20m cpu: 20m
memory: 96Mi memory: 96Mi
limits:
memory: 256Mi
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -70,6 +78,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 48Mi memory: 48Mi
limits:
memory: 128Mi
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -84,6 +94,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 48Mi memory: 48Mi
limits:
memory: 128Mi
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
@@ -98,3 +110,5 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 32Mi memory: 32Mi
limits:
memory: 128Mi
+2
View File
@@ -67,6 +67,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 512Mi
env: env:
# Newer boto3 adds checksums that S3-compatible stores can reject; # Newer boto3 adds checksums that S3-compatible stores can reject;
# the plugin's docs suggest sending them only when required. # the plugin's docs suggest sending them only when required.
+2
View File
@@ -18,6 +18,8 @@ spec:
requests: requests:
cpu: 50m cpu: 50m
memory: 256Mi memory: 256Mi
limits:
memory: 1Gi
bootstrap: bootstrap:
initdb: initdb:
database: authentik database: authentik
+2
View File
@@ -83,6 +83,8 @@ spec:
requests: requests:
cpu: 50m cpu: 50m
memory: 176Mi memory: 176Mi
limits:
memory: 512Mi
# TCP, because mod_auth_openidc answers 401 to anything that isn't a # TCP, because mod_auth_openidc answers 401 to anything that isn't a
# browser. # browser.
readinessProbe: readinessProbe:
+2
View File
@@ -54,6 +54,8 @@ spec:
requests: requests:
cpu: 20m cpu: 20m
memory: 336Mi memory: 336Mi
limits:
memory: 1Gi
# /api/healthz checks the database and the cache. # /api/healthz checks the database and the cache.
readinessProbe: readinessProbe:
httpGet: httpGet:
+8 -2
View File
@@ -67,6 +67,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 256Mi
image: image:
repository: docker.io/valkey/valkey repository: docker.io/valkey/valkey
tag: 9.1.2-alpine@sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11 tag: 9.1.2-alpine@sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11
@@ -93,6 +95,8 @@ spec:
requests: requests:
cpu: 100m cpu: 100m
memory: 1280Mi memory: 1280Mi
limits:
memory: 3Gi
# Node trusts its built-in roots, which still include the # Node trusts its built-in roots, which still include the
# ones above the compromised eMudhra intermediates. Use # ones above the compromised eMudhra intermediates. Use
# patched-ca-bundle through OpenSSL until Node ships a fix. # patched-ca-bundle through OpenSSL until Node ships a fix.
@@ -117,12 +121,14 @@ spec:
image: image:
repository: ghcr.io/immich-app/immich-machine-learning repository: ghcr.io/immich-app/immich-machine-learning
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# Idle at night (234Mi); the models take over a GiB when # Idle at 240Mi; 884Mi with CLIP, face recognition and
# it works. # OCR loaded (2026-10-28, a test image through each).
resources: resources:
requests: requests:
cpu: 50m cpu: 50m
memory: 1Gi memory: 1Gi
limits:
memory: 2Gi
env: env:
TRANSFORMERS_CACHE: /cache TRANSFORMERS_CACHE: /cache
HF_XET_CACHE: /cache/huggingface-xet HF_XET_CACHE: /cache/huggingface-xet
+2
View File
@@ -71,6 +71,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 512Mi
env: env:
# Newer boto3 adds checksums that S3-compatible stores can reject; # Newer boto3 adds checksums that S3-compatible stores can reject;
# the plugin's docs suggest sending them only when required. # the plugin's docs suggest sending them only when required.
+2
View File
@@ -13,6 +13,8 @@ spec:
requests: requests:
cpu: 20m cpu: 20m
memory: 320Mi memory: 320Mi
limits:
memory: 1Gi
postgresql: postgresql:
shared_preload_libraries: shared_preload_libraries:
+6
View File
@@ -20,6 +20,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 48Mi memory: 48Mi
limits:
memory: 128Mi
metrics: metrics:
enabled: true enabled: true
serviceMonitor: serviceMonitor:
@@ -29,6 +31,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 32Mi memory: 32Mi
limits:
memory: 128Mi
serviceMonitor: serviceMonitor:
enabled: false enabled: false
certController: certController:
@@ -36,6 +40,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 32Mi memory: 32Mi
limits:
memory: 128Mi
serviceMonitor: serviceMonitor:
enabled: false enabled: false
syncPolicy: syncPolicy:
+2
View File
@@ -60,6 +60,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 160Mi memory: 160Mi
limits:
memory: 512Mi
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /login path: /login
+2
View File
@@ -7,6 +7,8 @@ injector:
requests: requests:
cpu: 10m cpu: 10m
memory: 32Mi memory: 32Mi
limits:
memory: 128Mi
# The chart's default anti-affinity forbids two injector pods on one # The chart's default anti-affinity forbids two injector pods on one
# node, so on this single node a rolling update can never start the new # node, so on this single node a rolling update can never start the new
# pod while the old one runs. Recreate removes the old pod first, which # pod while the old one runs. Recreate removes the old pod first, which
+2
View File
@@ -71,6 +71,8 @@ spec:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
limits:
memory: 128Mi
# 512Mi got the server OOMKilled 314 times, including halfway # 512Mi got the server OOMKilled 314 times, including halfway
# through a backup of ~14.7k items. # through a backup of ~14.7k items.
resources: resources: