페이지가 각 inode의 address_space에 저장되므로 백그라운드 페이지 캐시 플러시 스레드가 모든 더티 페이지를 어떻게 알 수 있습니까?리눅스 커널은 더티 페이지를 어떻게 찾아 낼 수 있습니까?
2
A
답변
2
그들은 하나 place의 모든 것 :
struct bdi_writeback {
struct backing_dev_info *bdi; /* our parent bdi */
unsigned int nr;
unsigned long last_old_flush; /* last old data flush */
unsigned long last_active; /* last time bdi thread was active */
struct task_struct *task; /* writeback thread */
struct timer_list wakeup_timer; /* used for delayed bdi thread wakeup */
struct list_head b_dirty; /* dirty inodes */
struct list_head b_io; /* parked for writeback */
struct list_head b_more_io; /* parked for more writeback */
spinlock_t list_lock; /* protects the b_* lists */
};
b_dirty
당신이 찾고있는 목록입니다.
플러싱이 발생하는 방법에 대한 정보는 in here을 참조하십시오. 코드는 다소 복잡합니다. (alot) 요약하면, 디스크에 기록 된 데이터는 a) 30 초 이상 경과하거나 dirty 페이지가 활성, 작동 중 10 % 이상을 소비 할 때까지 메모리에 저장됩니다 기억.
1
x86 플랫폼에서 운영 체제는 page table entries
을 검사하여 더러운 페이지를 찾아야합니다. 특수한 것인데, dirty
은 메모리 쓰기 중 CPU에 의해 자동으로 설정되는 비트입니다. dirty
= 1에 대해 PTEs
을 검색하는 코드가 있어야합니다.
관련 문제
- 1. 자바에서 메모리 예외를 찾아 낼 수 있습니까?
- 2. EC2의 최신 리눅스 커널은 무엇입니까?
- 3. 사용자 정의 구조체의 함수 인수를 찾아 낼 수 있습니까?
- 4. 내 코드와 튜토리얼의 차이점을 찾아 낼 수 있습니까?
- 5. 리눅스 커널은 커널 객체를 참조합니까?
- 6. C에서 문자열을 어떻게 조각 낼 수 있습니까?
- 7. 웹 사이트에서 풀 사이즈 이미지를 어떻게 긁어 낼 수 있습니까?
- 8. "연결할 수없는 코드"를 찾아 낼 수 없습니다
- 9. Java에서 'Null Pointer Exception'의 원인을 찾아 낼 수 없습니다.
- 10. Hibernate + GroovyTestcase : 아래의 코드에서 오류를 찾아 낼 수 없습니다 ..
- 11. C++ Noob 함수는 호출 매개 변수를 찾아 낼 수 없습니까?
- 12. 리눅스 커널은 어디에서 실행 파일을 찾습니까
- 13. 리눅스 커널은 부팅 할 때 어떤 드라이버를로드해야하는지 어떻게 알 수 있습니까?
- 14. 커널은 세그먼트 오류에 대해 어떻게 알고 있습니까?
- 15. Linux 커널은 파일 매핑 페이지를 어떻게 바꿉니 까?
- 16. Rally SDK를 사용하여 어떻게 카드에 골판지를 걸러 낼 수 있습니까?
- 17. 어떻게 문자열 뒤에 단어를 골라 낼 수 있습니까?
- 18. 컴파일이 끝난 후 어떻게 신호음을 낼 수 있습니까?
- 19. MKMapView에서 사용하는 메모리를 어떻게 풀어 낼 수 있습니까?
- 20. 어떻게 C#의 폴더 이름을 걸러 낼 수 있습니까?
- 21. 다른 SQL 코드에서 긴 SQL을 어떻게 불러 낼 수 있습니까?
- 22. 어떻게 Wordpress 클래스 내부에서 함수를 걸러 낼 수 있습니까?
- 23. 이맥스에서 선택된 마지막 영역을 어떻게 불러 낼 수 있습니까?
- 24. ExtJs에서 패널을 밀어 낼 수 있습니까?
- 25. FLV 플레이어로 앞으로 닦아 낼 수 있습니까?
- 26. 어떻게 리눅스 쉘에서 'where'절을 할 수 있습니까?
- 27. 찾아
- 28. 텍스트 맨 페이지를 찾아 볼 수있는 웹 인터페이스는 어떻게 디자인합니까?
- 29. "리눅스 커널은 선점 적"이라고 말하는 것은 무엇을 의미합니까?
- 30. CakePHP 질문 : 라디오 버튼에서 어떻게 가치를 얻을 수 있으며 어떻게 행동을 불러 낼 수 있습니까?