우리는 동일한 계정으로 작업하는 여러 사용자입니다
내 활동을 제한하고 싶고, 컴퓨터를 멈추거나 다른 사용자를 방해하지 않고 싶습니다. 리소스를 모두 사용하는 대신 리소스 사용량을 제한하고 싶습니다(프로세스가 가능하다면 모두 사용하기 때문입니다).
두 가지 방법이 있는데, 하나는 우선순위이고 다른 하나는 엄격한 제한입니다. 문제는 Linux가 우선순위를 잘 관리하지 못한다는 것입니다. 즉, 우선순위가 낮더라도 다른 활동이 느려질 수 있다는 의미입니다. 그래서 엄격한 제한을 가한다.
하지만 많은 사람이 사용하는 계정이 아닌 내 쉘만 제한하고 싶습니다.
우선순위나 엄격한 제한에 대한 제안사항이 있나요?
답변1
ulimit
할 수 있는이 목적으로 사용됩니다. 전역 사용자나 향후 쉘이 아닌 현재 쉘에 대한 제한을 설정합니다. 이러한 제한은 해당 쉘에서 시작된 프로세스에 의해 상속됩니다.
이를 확인하려면 동일한 시스템에서 동일한 사용자로 두 개의 쉘을 열고( ulimit -a
) 두 쉘의 제한을 확인한 다음 SET LIMITS를 사용하여 한 쉘에서 제한을 설정한 ulimit
다음 ulimit -a
다른 쉘에서 다시 실행하십시오. 한 셸에서는 두 번째 셸에 영향을 주지 않습니다.
Linux에서 설정된 제한은 ulimit
다음에 자세히 설명되어 있습니다.매뉴얼 setrlimit
페이지. 공유 시스템에서 다른 사용자의 작업 부하와 "조화롭게 생활"하려는 경우에는 실제로 유용하지 않습니다. 이는 런어웨이 프로세스의 리소스 부족을 방지합니다(예를 들어프로세스가 대용량 파일을 생성하는 것을 방지할 수 있습니다.)
당신은 알고 싶을 수도 있습니다cgroup시스템에서 사용할 수 있고 일반 사용자로 액세스할 수 있는 경우. 이는 다중 사용자 시스템에서 종종 문제를 일으키는 메모리, CPU 및 I/O 사용량에 대한 더 나은 제어를 제공합니다.