우리는 C++ 기반 프로젝트에서 Sqlite3를 내장 데이터베이스로 사용하고 있습니다. sqlite3 인터페이스 (실제로 로그 레코드를 커밋하는 인터페이스)를 사용하는 프로세스는 데이터베이스의 크기가 커짐에 따라 힙 메모리를 확장하는 것처럼 보입니다.임베디드 시스템의 Sqlite3 - 프로세스 메모리가 증가합니까?
힙 메모리 확장은 데이터베이스의 크기와 직접적으로 관련이 있습니다 (증거 : "데이터베이스 삽입"행이 주석 처리 된 경우 확장이 수행되지 않으며 로그 랩핑이 사용 가능한 경우 데이터베이스가 시작될 때). 확장이 끝나면 마치 마치 펼쳐지는 것입니다.
우리는 유닉스 계열 OS를 사용하고 있습니다.
SQLite3가 어떤 종류의 캐싱을 수행 할 수 있는지 알고 있습니까? UNIX가 자체적으로이 작업을 수행하고 있거나 모든 것이 반드시 문제가되는 경우? 여기서의 걱정은 분명히 힙 메모리가 소모되어 시스템이 손상 될 수 있다는 것입니다.
유닉스 캐싱 자체에 대한 이상한 언급을 보았고, 캐시 관련 메모리를 공개 할 필요가있을 때이를 공개했다. 그러나 필자는 그 사실에 대해 충분히 확신하지 못했다. SQLite3 문서에서 관련 항목을 성공적으로 찾지 못했습니다.