mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-13 06:32:03 +00:00
feat(ops): name 1536 MB as the supported memory floor
The getting-started requirements now say a host needs 3 GB of RAM, 4 GB recommended, and drop the advice to lower APP_MEMORY_LIMIT to 1g on a 2 GB host. The compose and .env example comments say the same. At boot the app reads its cgroup memory limit (v2, then v1) and logs one line when it is below MEMORY_FLOOR_MB. The support report adds the container limit and a note below the floor, and Admin > System status shows "below the supported floor" next to the existing low-heap flag. The app keeps running either way.
This commit is contained in:
1 parent
9941db1549
commit
07f9615dba
20 files changed
+313
-26
No files matched your search
@@ -61,8 +61,19 @@ export interface SystemStatus {
|
||||
buildTime: string;
|
||||
startTime: string;
|
||||
database: string;
|
||||
/** The process's heap ceiling; `low` when it is below what a long-used account needs. */
|
||||
memory: { heapLimitMb: number; low: boolean };
|
||||
/**
|
||||
* The process's heap ceiling; `low` when it is below what a long-used
|
||||
* account needs. `containerLimitMb` is the container's memory limit
|
||||
* (`null` when there is none or it cannot be read), `belowFloor` when it is
|
||||
* under the supported floor of `floorMb`.
|
||||
*/
|
||||
memory: {
|
||||
heapLimitMb: number;
|
||||
low: boolean;
|
||||
containerLimitMb: number | null;
|
||||
floorMb: number;
|
||||
belowFloor: boolean;
|
||||
};
|
||||
worker: WorkerStatus;
|
||||
/**
|
||||
* Queues whose jobs exhausted their retries recently. `null` means the
|
||||
|
||||
@@ -164,11 +164,22 @@ export function SystemStatusSection() {
|
||||
icon={MemoryStick}
|
||||
label={t("admin.heapLimitLabel")}
|
||||
value={
|
||||
status.memory.low
|
||||
? t("admin.heapLimitLow", { mb: status.memory.heapLimitMb })
|
||||
: t("admin.heapLimitValue", { mb: status.memory.heapLimitMb })
|
||||
status.memory.belowFloor && status.memory.containerLimitMb
|
||||
? t("admin.memoryBelowFloor", {
|
||||
mb: status.memory.containerLimitMb,
|
||||
floor: status.memory.floorMb,
|
||||
})
|
||||
: status.memory.low
|
||||
? t("admin.heapLimitLow", { mb: status.memory.heapLimitMb })
|
||||
: t("admin.heapLimitValue", {
|
||||
mb: status.memory.heapLimitMb,
|
||||
})
|
||||
}
|
||||
tone={
|
||||
status.memory.belowFloor || status.memory.low
|
||||
? "warning"
|
||||
: undefined
|
||||
}
|
||||
tone={status.memory.low ? "warning" : undefined}
|
||||
/>
|
||||
<StatusItem
|
||||
icon={Clock}
|
||||
|
||||
Reference in new issue
Block a user