Systemd는 tmpfs를 지원합니다. /tmp 크기를 수동으로 지정하는 방법

Systemd는 tmpfs를 지원합니다. /tmp 크기를 수동으로 지정하는 방법

/tmp다음을 사용하여 설치했습니다 tmpfs.

sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount

그러나 이 방법은 /tmp사용 가능한 모든 RAM을 차지합니다.

$ df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           3.9G   12K  3.9G   1% /tmp
$

systemd tmp.mount에 1G만 사용하도록 지시하는 방법은 무엇입니까?/etc/fstabsystemd를 사용하지 않고 수동으로 항목을 추가 하고 크기를 지정할 수 있다는 것을 알고 있습니다 . 하지만 나는 그러고 싶지 않아요. systemd에서 지원하는 tmpfs를 사용하고 싶습니다.

답변1

이것시스템 접근 방식이를 재정의 tmp.mount하거나 확장하는 방법은 에 있습니다 . 기존 항목 ( 또는 가능) /etc/systemd/system을 복사 하고 복사본을 편집하거나 다음을 실행하여 설치 옵션만 변경하는 구성 조각을 추가하는 것이 더 좋습니다.tmp.mount/lib/systemd/system/usr/share/systemd

sudo systemctl edit tmp.mount

그리고 입력

[Mount]
Options=mode=1777,strictatime,nosuid,nodev,size=1G

열린 편집기에서. 이것은 것이다

  • 라는 디렉터리를 만듭니다./etc/systemd/system/tmp.mount.d
  • override.conf해당 디렉터리에 위의 텍스트가 포함된 파일을 추가합니다 .

알아채다systemd.mount아직도 그런 말을 해

일반적으로 마운트 지점을 구성하는 것이 /etc/fstab선호되는 방법입니다.

그래서 당신은 이것을하고 싶을 수도 있습니다.이 줄의 옵션을 /etc/fstab추가하려면 편집하세요 (필요한 경우 추가).size=.../tmp

tmpfs /tmp tmpfs mode=1777,strictatime,nosuid,nodev,size=1G 0 0

실제로 이는 설치 옵션을 변경하는 데 권장되는 방법입니다.systemd의 "API 파일 시스템":

일반적으로 이러한 API 파일 시스템은 나열되지 않지만 /etc/fstab추가될 수 있습니다. 그렇다면 여기에 지정된 옵션이 해당 특정 API 파일 시스템에 적용됩니다. 따라서 이러한 파일 시스템의 마운트 옵션이나 기타 매개변수를 변경하려면 /etc/fstab적절한 설정에 추가하기만 하면 됩니다. 이 기술을 사용하면 단순히 설치 옵션을 변경하는 것 외에도 파일 시스템의 소스, 유형을 변경할 수도 있습니다. 이는 /tmp물리적 디스크가 지원하는 실제 파일 시스템으로 이동하는 데 유용합니다.

API 파일 시스템에는 다음이 포함됩니다 : /sys, /proc, /dev, /run, /tmp, /sys/fs/cgroup, /sys/kernel/security, /sys/kernel/debug, /sys/kernel/config, /sys/fs/selinux, /dev/shm, /dev/pts, /proc/sys/fs/binfmt_misc, /dev/mqueue, /dev/hugepages, /sys/fs/fuse/connections. systemd는 설치 단위에 지정 /sys/firmware/efi/efivars되지 않은 경우에도 설치되도록 보장합니다 ./etc/fstab

파일 시스템의 크기를 조정할 때는 주의하십시오 tmpfs. 결국 시스템에서 메모리(스왑 포함)를 필요로 하는 다른 시스템과 경쟁하게 되며, 예상하지 못한 경우 메모리가 고갈될 수 있습니다.이로 인해 교착 상태가 발생할 수 있습니다..

관련 정보