Soft limit vs Hard limit?

43

Czy ktoś może wyjaśnić laikowi, jaka jest różnica między miękkim a twardym limitem?

Czy powinienem ustawić mój miękki i twardy limit, aby był taki sam? A może soft powinien być znacznie niższy? Czy system zyskuje tak czy inaczej?

Dzięki.

kidcapital
źródło

Odpowiedzi:

34

Twardy limit to górny limit miękkiego limitu. Miękki limit jest faktycznie egzekwowany dla sesji lub procesu. Umożliwia to administratorowi (lub użytkownikowi) ustawienie twardego limitu maksymalnego wykorzystania, na które chcą zezwalać. Inni użytkownicy i procesy mogą następnie użyć miękkiego limitu, aby ograniczyć zużycie zasobów do jeszcze niższych poziomów, jeśli sobie tego życzą.

Kamil Kisiel
źródło
3
Twarde limity są egzekwowane „tu i teraz”, tzn. Proces nigdy nie może uzyskać dostępu do zasobu, jeśli spowodowałoby to naruszenie twardego limitu. Proces może przekroczyć miękki limit na pewien okres czasu. Limit miękki może zostać podniesiony przez użytkownika innego niż root do maksymalnego limitu.
Paweł Brodacki
Zachowanie po przekroczeniu miękkiego limitu zależy od tego, który to limit. Strona podręcznika dla setrlimit (2) opisuje wynik: linux.die.net/man/2/setrlimit .
Kamil Kisiel
Poprawiam się
Paweł Brodacki
Powiedziałeś: „Miękki limit jest faktycznie egzekwowany dla sesji lub procesu”. Czy nie jest to faktycznie egzekwowany limit HARD?
Brian
Wymuszany jest limit miękki, a użytkownik może go podnieść do maksymalnego limitu twardego.
Kamil Kisiel,
5

Użytkownicy, którzy naruszą limit miękkiego limitu, otrzymają wiadomość e-mail z informacją, że mają okres karencji na kilka dni, zanim zaczną obowiązywać kary. Użytkownicy, którzy przekroczą próg twardego limitu, nie otrzymają takiego okresu. Kara różni się w zależności od konkretnego przydziału, ale zwykle prawie każde polecenie kończy się niepowodzeniem, tak że użytkownik będzie chciał szybko uzyskać zgodność.

sfried
źródło
5
limity i kwoty są różnymi zwierzętami
Sirex
3

Limity zasobów użytkownika określają ilość zasobów, które mogą być użyte dla konkretnej sesji. Zasoby, które można kontrolować, to:

maximum size of core files
maximum size of a process's data segment
maximum size of files created
maximum size that may be locked into memory
maximum size of resident memory
maximum number of file descriptors open at one time
maximum size of the stack
maximum amount of cpu time used
maximum number of processes allowed
maximum size of virtual memory available

Należy pamiętać, że te ustawienia dotyczą poszczególnych sesji. Oznacza to, że są one skuteczne tylko przez czas zalogowania użytkownika (i dla wszystkich procesów uruchomionych w tym okresie). Nie są to ustawienia globalne. Innymi słowy, są one aktywne tylko przez czas trwania sesji, a ustawienia nie kumulują się. Na przykład, jeśli ustawisz maksymalną liczbę procesów na 11, użytkownik może mieć tylko 11 procesów uruchomionych na sesję. Nie są one ograniczone do 11 wszystkich procesów na komputerze, ponieważ mogą zainicjować kolejną sesję. Każde z ustawień dotyczy ustawień procesu podczas sesji, z wyjątkiem maksymalnej liczby procesów.

Istnieją dwa rodzaje limitów, które można ustawić dla każdej właściwości wymienionej powyżej: limit twardy i miękki .

Użytkownik nie może zmienić twardego limitu po jego ustawieniu. Twarde limity może zmienić tylko użytkownik root. Limit miękki może jednak zostać zmieniony przez użytkownika, ale nie może przekroczyć twardego limitu, tzn. Może mieć minimalną wartość 0 i maksymalną wartość równą „twardemu limitowi”.

po więcej informacji

Drt
źródło