예압 사용의 단점? 왜 기본적으로 포함되어 있지 않습니까?


110

사용의 단점이 무엇인지 알고 싶습니다 preload. 단점이 없다면 preload기본적으로 활성화되어 있으므로 일부가 있다고 생각합니다.

좋아, 조금 더 많은 RAM이 필요하지만 대부분의 사람들은 Ubuntu에 필요한 RAM보다 훨씬 많은 RAM을 가지고 있습니다. 따라서 사용의 단점은 무엇 preload입니까?


6
유용한 질문에 감사드립니다. 알고 싶습니다. 신화입니까?
Saeed Zarinfam

1
CPU 사용 및 배터리는 일부 단점이 될 수 있습니다 ... bugs.launchpad.net/ubuntu/+source/preload/+bug/481861
Mateo

1
좋은 질문. 일부 배포판에는 기본 OS (예 : 갈라가 우분투의 유니티보다 훨씬 빠르기 때문에 랩톱에서 실행되는 것)와 같은 사전로드가 제공됩니다.

1
간단히 추측하면 : 기본적으로 포함하지 않는 한 가지 이유는 모든 시스템에서 사용할 수 없기 때문입니다 (하드웨어 요구 사항은 표준 요구 사항과 다를 수 있음).
don.joey

2
brainstorm.ubuntu.com/idea/1122 여기의 게시물은 "루트 권한을 가진 데몬으로 실행된다"고 제안합니다. 보안 문제 일 수있는 기본 브레인 스토밍을 원하는이 브레인 스토밍 brainstorm.ubuntu.com/idea/14092
Mateo

답변:


65

간단히 말해, 프리로드는 모든 사람을위한 것이 아닙니다. 응용 프로그램이나 라이브러리를 많이 열면 좋습니다. 응용 프로그램이나 라이브러리를 가끔씩 만로드하면 위험합니다. 실제 사용법에서 두 가지 예를 사용합니다 (예 : 사전로드 사용).

먼저 Chrome. 이제 브라우저는 부팅 당 한 번만 열릴 수도 있고 두 번일 수도 있습니다 (저는 웹 개발자입니다). Chrome과 관련 라이브러리는 항상 사용하기 때문에 메모리에 남아 있습니다. 모든 크롬 창을 닫아도 여전히 백그라운드에서 작동합니다. 따라서 Chrome의 사전로드 사본을 보관하기위한 모든 램은 총 낭비입니다. 언로드되지 않습니다 (또는 드물게). 일반 사용자에게는 많은 응용 프로그램에 해당됩니다. Office 사용자는 거의 항상 전자 메일 앱을 열어야합니다. 따라서 전자 메일 앱을 하루에 한 번만 열고 열어두기 때문에 시작 시간이 약간 절약됩니다.

두 번째 예는 갈퀴입니다. 테스트를 믿는 루비 개발자로서 나는 TON을 긁습니다. 레이크가 실행되고 몇 초 동안 실행 된 후 종료됩니다. Preload는 레이크와 필요한 라이브러리 (매우 광범위 할 수 있음)를 미리로드하기 때문에 일상 작업 속도를 높이는 데 도움이됩니다. 따라서 갈퀴의 시작에는 많은 시작과 중지가 있습니다. 몇 시간 동안 400 또는 500 회의 레이크 발사 속도를 높이는 데 사용되는 추가 램은 그만한 가치가 있습니다.

따라서 기본적으로 활성화되어 있지 않은 이유는 실제로 성능을 향상시키는 기능은 주로 시스템 사용 방법에 따라 달라지기 때문 입니다. 어떤 사람들에게는 부정적 일 것이고 다른 사람들에게는 긍정적일 것입니다.

마지막으로, 사전로드를 사용하면 사용하지 않더라도 램이 소비됩니다. 따라서 응용 프로그램을 자주 시작하지 않으면 다른 유형의 캐싱에 해당 램을 사용할 수 없도록하여 전체 시스템을 부분적으로 느리게 만들 수 있습니다. 32Gig의 램을 가지고 있더라도 리눅스는 데이터를 캐시하여 상호 작용을 더 빠르게하기 위해 최대한 많은 양을 사용하려고합니다. 사전로드를 사용하면 사용 가능한 메모리를 약간 줄입니다. 조금 작더라도 크롬을 1 번 발사 한 시간을 2 초만 절약하면 달이 지나는 달에 60 초가 소요될 수 있습니다.


1
또한 사전로드를 사용하면 부팅 속도가 느려집니다. 미리로드 된 항목이 많을수록 시스템을 시작하고 실행하는 데 시간이 더 걸립니다. 이제 당신이하고 싶은 것은 부팅하고, 메모에 문장을 쓰고, 바로 종료하는 것입니다. 시스템은 해당 작업과 관련이없는 것들을 미리로드하기 때문에 메모를 작성할 수도 있습니다. 따라서 어떤 식 으로든 사전로드 (일반적으로)는 양날의 칼입니다.
F-3000

1
Preload는 실제로 그런 식으로 작동하지 않습니다 ... 그것은 "당신이 거기있는 동안 캐시에 이것을로드하십시오, 곧 필요합니다"와 같은 커널 힌트를 제공하며 커널은 그렇게합니다. 따라서 실제로 설명하는 것처럼 RAM을 사용하지 않습니다. 다음 두 가지 상황이 발생할 수 있습니다. 캐시로로드하면 곧 사용할 응용 프로그램이 푸시되어 응용 프로그램으로 돌아올 때 짧은 정지 및 하드 디스크 활동이 발생합니다.
hurikhan77

1
두 번째 : 사전로드가 사용 패턴을 잘못 예측하면 (이것은 지속적으로 응용 프로그램을로드 한 경우에 해당 할 수 있습니다) 나중에 RAM에서 다시 푸시되고 다시 자체적으로 RAM에서 캐시를 푸시하는 항목을 캐시합니다 더 나은 사용. 그러나 결국 vfs 캐시처럼 RAM 만 "소비"하므로 실제로 폐기 할 수있는 RAM이므로 "사용 가능한 RAM"이됩니다. 그러나 작성하는 동안 "일반 캐시"와 경쟁합니다.
hurikhan77

1
위에서 언급 한 coteyr 및 @ hurikhan77의 설명에 따르면 Preload는 이전의 낮은 RAM (시작시 800MB의 여유 공간) 데스크탑 상자에서 인식되는 속도를 향상시키는 데 효과적인 방법입니다. 참고로 이러한 리퍼브 박스에서 사전로드를 활성화하면 커널 가상 메모리 관리자에게 약간의 개선이 필요한 많은 작업을 제공 할 수 있습니까?
tuk0z

2
@lliseil 800MB가 할당되지 않은 RAM 인 경우 사전로드가 도움이 될 수 있지만 더 많은 RAM에서 더 잘 작동합니다. 그리고 그것은 다음을 의미합니다 : Preload는 나중에 시작할 수있는 메모리가 많은 응용 프로그램과 충돌합니다. RAM을 너무 많이 사용하자마자 프리로드를 쓸모 없게하는 스왑 피 니스를 낮추어야 할 수도 있습니다.
hurikhan77

21

2012 년 9 월 5 일 bountier Saeed Zarinfam의 질문 :

안녕 모두 알고 싶다. 신화인가? 않습니다 [예압] 정말 내 성능을 향상? 그것을 사용하는 단점은 무엇입니까? 이 사양의 노트북 (Core i5 CPU, 4GB RAM, 128GB SSD Hard)이 있습니다. 정말 고맙습니다.

  • SSD를 사용하는 경우 실제로 사전로드 할 필요가 없습니다.
    • 이는 SSD 가 하드 디스크보다 훨씬 빠른 임의 액세스 시간을 제공하기 때문에 메모리에 "사전로드"바이너리 / 종속성은 낭비입니다.
    • 기본 단점은 사전로드 가 실질적인 이점을 제공하지 않고 추가 메모리를 "사용"한다는 것입니다.

20
프리로드 사용에 대한 단점이 있기 때문에 OP의 질문은 다루지 않습니다. 두 번째로, 당신은 의견을 형성하고 "사전 로딩"에 대한 진술을 한 다음 방정식에 "SSD"를 도입했습니다. 실제로 어느 시점에서 질문에 대답하려고 했습니까?
Ringtail

12

사전로드는 시스템의 백그라운드에서 실행되는 "적응 판독 헤드 데몬"이며 응용 프로그램로드 시간을 단축하기 위해 가장 자주 사용하는 프로그램을 캐싱하여 캐싱합니다. 사전로드를 사용하면 사용하지 않는 RAM을 제대로 작동시키고 데스크탑 시스템의 전반적인 성능을 향상시킬 수 있습니다.

즉시 성능의 급격한 변화를 기대하지 마십시오. 또한 응용 프로그램을 반복적으로 열거 나 닫는 경우 컴퓨터는 이러한 파일을 캐시에 저장합니다 ( "웜"로드라고 함). 따라서 속도 차이는 없습니다. 그러나 예를 들어 프로그램을 간헐적으로 사용하면 속도가 향상됩니다. 이러한 프로그램은 Preload가없는 것보다 빨리 시작됩니다.

사전로드는 응용 프로그램 시작 시간을 크게 향상시킬 수 있습니다. 대부분의 최신 머신에는 여분의 메모리가 충분하므로 Preload는이 RAM을 잘 사용합니다. 1

지금 말하면, 프리로드는 훌륭한 유틸리티 인 것 같습니다.

OS에 사전로드되지 않은 이유는 사용자가 수행중인 작업을 정확하게 알고 있어야하며 사용할 수있는 충분한 경험이 있어야하며 시스템에 충분한 RAM이 있어야하기 때문입니다.

보다 기술적 인 측면에서, 사전로드는 데이터를 하드 디스크에서 RAM으로 이동하여 대부분의 하드 디스크를 사용하지 않을 경우 절전 모드로 전환 한 다음 필요할 때 다시 회전시켜야합니다. 따라서 드라이브를 스핀 업 / 다운하면로드 / 언로드 사이클 카운트와 전원 켜기 시간 카운트가 증가하여 드라이브 수명이 단축됩니다.

애플리케이션 레벨 예측에서 작동하는 Markov 기반의 적응 형 프리 페치 체계 인 사전로드를 설계하고 구현했습니다. 또한 사전로드는 사용자 공간에서 구현되며 어떤 식 으로든 응용 프로그램 런타임 환경을 변경하지 않습니다. 이것은 우리가 아는 한이 수준에서 파일 시스템 프리 페치를 실험하는 첫 번째 작업입니다.

우리의 실험 결과는 콜드 캐시와 비교하여 응용 프로그램 시작 시간에 대한 유망한 개선 사항과 순진한 예측 알고리즘과 비교하여 적절한 적중률을 보여줍니다.

그러나 사용자 공간에 있다는 것은 프리로드를 시작 시간 문제에 대한 경쟁 솔루션으로 만드는 데 큰 장애물이됩니다. 특히 응용 프로그램의 I / O 요청에 대한 완전한 정보가없고 페이지 캐시 하위 시스템과의 강력한 통신 채널이 없으면 특히 메모리 부족 조건에서 프리로드의 효과가 크게 저하됩니다.

예압 설계의 또 다른 고유 한 문제는 애플리케이션 스타트 업의 상대적으로 느슨한 상관 관계로 인한 높은 분산 및 낮은 예측 신뢰도입니다. 응용 프로그램 상관 관계를 추적하는 모델을 성공적으로 구축하는 동안 응용 프로그램 시작은 컴퓨터가 작동하는 시간 규모와 비교할 때 매우 드문 이벤트이지만 응용 프로그램 수준 프리 페치 체계는 사실상 무한한 시간 동안 엄청난 프리 페치 메모리를 소비하는 것으로 비난됩니다. 이 메모리는 단기 캐시 동작을 개선하는 데 사용할 수 있습니다.

마지막으로 커널의 캐시 하위 시스템과 통합 된 프리 페 처로 돌아 가지 않고 부팅 시간, 로그인 시간 및 응용 프로그램 시작 시간을 개선하는 방법에 대한 시스템 개발자를위한 권장 사항을 제시합니다. 물론 커널의 파일 기반 프리 페처는 그보다 더 향상 될 수 있습니다. 2

1 출처 : techthrob

2 출처 : Preload-Behdad Esfahbod의 적응 형 프리 페칭 데몬-과학 석사 학위-컴퓨터 과학과-토론토 대학교 (University of Toronto)의 요구 사항에 따라 제출 된 논문 Copyright (c) 2006-Behdad Esfahbod.


1
답변 주셔서 감사합니다, 미치 이것들도 저의 생각이었습니다. 특히 랩톱에서 사전로드가 문제 일 수 있습니다. 그러나 여전히 우분투 팀이 배송 사전로드를 결정한 이유에 대한 공식 소스 / 토론을 찾고 싶습니다.
Glutanimate

9

단점? 아무도 없습니다!

사용자가 응용 프로그램을 여는 성능이 향상되었습니다. 시스템에서 "읽기"뿐만 아니라 몇 년 동안 사용해 왔으며 아무런 문제가 없습니다. 버그 페이지 프리로드에 대한 중 하나를 모든 단점을 제안하지 않습니다.

Preload는 사용자가 실행 하는 응용 프로그램을 모니터링 하고이 데이터를 분석하여 사용자 가 실행할 수 있는 응용 프로그램을 예측하고 더 빠른 시작 시간을 위해 해당 바이너리 및 해당 종속성을 메모리로 가져옵니다.

부팅 시간이 약간 증가하지만 응용 프로그램의 속도 감소 페치 시간이이 작은 문제를 훨씬 능가합니다.

참조 기사

Firefox 또는 Gimp 와 같은 일반적인 앱을 지속적으로 사용하는 경우 로드 시간이 크게 향상됩니다. 사전로드는 백그라운드에서 신중하게 실행되는 데몬이며 어쨌든 데스크탑을 방해하지 않습니다. Ubuntu 사용자는 다음을 통해 사전로드를 설치할 수 있습니다.

sudo apt-get install preload

결과 :

정상 시작과 예압 시작의 차이점을 보여주는 그래프

심판


3
나는 복용량을 알고 여러 가지 '예비 하우투'를 읽었지만 아무데도 단점에 대해 읽을 수는 없습니다. 단점이 없다면 기본적으로 많은 Linux 배포판과 함께 제공되지만 알 수있는 한 그렇지 않습니다.
Paradiesstaub

1
성능은 저하 되지 않지만 증가 합니다. 이것이 프리로드를 사용하는 요점입니다. 어쩌면 오타 일 수도 있습니다.
Marco

2
다이어그램은 멋지지만 중요한 정보가 부족합니다. 판매원의 파워 포인트 프레젠테이션에는 100 % 적합하지만 '잘못된 통계'의 예입니다. 이 수치는 어디에서 왔습니까? 그것들을 기록하기 위해 어떤 프로토콜이 사용 되었습니까? 단일 스냅 샷입니까? 샘플에 몇 대의 기계가 관련 되었습니까? 하드웨어는 무엇입니까? 사전로드 프로그램은 어떻게 구성 되었습니까?

1
@ Ringtail : 당신이 맞아요. 당신은 그 다이어그램의 저자가 아닙니다. 그러나 기사의 모든 링크를 클릭하면 Techthrob.com 페이지에서 프로그램 작성자가 작성한 기사를 호스팅해야합니다. 그러나 그 페이지는 사라졌습니다. 따라서 저자의 논문은 소스 만 있습니다.

2
그놈 터미널을 시작하는 데 2 ​​초 이상이 걸리면 하드웨어를 업그레이드해야합니다.
Peter and wolf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.