답변:
이것은 주로 역사적인 이유로 인한 것입니다. 구형 Linux 메인 프레임에서는 많은 사용자가 메인 프레임의 리소스를 연결하고 사용합니다. 물론, 제한이 필요했고 파일 핸들 및 프로세스와 같은 작업이 커널에 내장 되었기 때문에 제한되었습니다. 또한 포크 폭탄 과 같은 공격을 제한하는 데 도움이됩니다 . 공정 한계를 사용하여 양식 폭탄에 대한 방어가 여기 에 표시 됩니다 .
또한 포크 폭탄이 수행하는 것과 유사한 런 어웨이 포크 및 파일 열기를 허용하지 않아 복잡한 서비스 및 데몬을 점검 할 수 있습니다.
또한 사용 가능한 RAM 및 CPU의 양과 같은 점과 32 비트 카운터가 너무 많은 참조 만 할 수 있다는 사실 (32 비트 카운터로 계산할 수있는 4294967296 항목 만 해당)이지만 그러한 한계는 훨씬 큽니다. 일반적으로 프로그래머와 시스템 관리자가 설정 한 것보다 큽니다. 어쨌든, 4294967296 프로세스가 있기 훨씬 전에, 계획된대로 또는 다른 자원이 고갈되어 시스템이 잠긴 것처럼 시스템이 재부팅되었을 것입니다.
584 TiB의 메모리로 Titan 을 실행하지 않는 한 (리눅스는 수퍼 컴퓨터에서 하나의 인스턴스로 실행될 수 없기 때문에)이 프로세스 한계에 도달하지 못할 것입니다. 그럼에도 불구하고 평균 프로세스에는 공유 메모리가 없다고 가정 할 때 대략 146KB의 메모리 만 있습니다.
인생과 리눅스에서 대부분의 모든 것에 한계가 있습니다. 때로는 한계가 매우 높고 걱정할 가치가 없으며 때로는 너무 느리거나 게으른 프로그래머가 임의로 설정하거나 하드웨어 한계로 설정하기도합니다.
프로그래머가 주소와 같이 필드에 허용되는 최대 문자 수와 같은 결정을 내릴 때 임의의 한계가 발생합니다. 필요에 따라 메모리를 동적으로 할당하는 것보다 임의의 제한을 설정하는 것이 훨씬 쉽습니다. 사용 가능한 모든 메모리를 간단한 입력 필드에 할당하고 싶지는 않지만 입력이 중요한 다른 메모리를 덮어 쓰도록 허용하지는 않습니다. 열린 파일 및 프로세스의 경우 임의의 제한이 있거나 사용 가능한 메모리에 의해 제한 될 수 있습니다. 후자가 한계에 다다르면 나쁜 일이 일어나기 시작하고 시스템이 멈출 수 있기 때문에 그 일이 일어나기 전에 한계를 두는 것이 좋습니다. 때때로 임의의 한계는 메모리 또는 디스크 공간에 따라 시작시 결정될 수 있으며 일반적으로 상당히 지능적입니다.
그런 다음 정수 나 문자의 크기와 같은 하드웨어에 의해 설정된 제한이 있습니다. 32 비트 시스템을 사용하는 경우 정수의 최대 크기 (부호없는 경우 4,294,967,295 또는 부호있는 경우 절반)로 설정된 한계가 있습니다.
프로세스의 경우 / proc / sys / kernel / pid_max는 허용되는 최대 pid이므로 즉시 실행할 수있는 프로세스 수의 하드 한계입니다. 그러나 메모리 제한은 일반적으로 그 전에 잘 작동합니다.
전체 시스템에서 열린 파일에 대한 상한의 경우 / proc / sys / fs / file-max가 하드 한계입니다. 이는 시스템의 메모리 양을 기반으로하므로 달라질 수 있습니다. 커널은 이것을 다음과 같이 설정합니다 :
n = (mempages * (PAGE_SIZE / 1024)) / 10;
files_stat.max_files = max_t(unsigned long, n, NR_FILE);
1MB의 RAM마다 약 100으로 작동합니다.
프로세스 당 한계가 다릅니다. ulimit가이를 정의합니다.
컴퓨터에 한계가 있고 4GB의 RAM이 있기 때문에 한계가 있습니다. 이제 15 게임을 실행할 수 없습니까?
나는 아마도 약간의 지연으로 그것을 실행할 수는 있지만 인간이 아닐 것입니다. 그것은 PC와 Linux의 Kernal의 한계입니다. .
Windows 7을 실행했을 때의 랩탑과 마찬가지로 전장을 플레이 할 수 있었지만 RAM의 80 %를 차지했기 때문에 "Need For Speed"를 재생하려고하면 60 %가 소요됩니다. 일반적으로 둘 다 열 수 있지만 전체 시스템은 2 개의 중장비 프로그램을 실행 한 후 속도가 느려져 RAM (Random Access Memory)을 위해 싸우고 있습니다.
간단히 말해서, 일반 컴퓨터는 한 번에 많은 프로그램을 실행할 수 없습니다. 음악, 메모장, 브라우저, 이메일, 게임, 당신은 컴퓨터에 많이 있다고 생각하지만 그저 단순한 것입니다. 월드 오브 워크래프트와 같은 게임에는 더 많은 RAM이 필요합니다. 컴퓨터에 어려움을 겪습니다 (고가의 랩톱과 같이 8-16GB의 RAM이 없다면!)