Python의 가비지 수집과 상호 작용하는 방식과 관련된 문제가 있습니다. & 나는 일시적으로 파이썬의 가비지 수집을 비활성화하고 JavaScript가 실행되지 않을 때 gc.collect
과 PyV8.JSEngine.collect
을 몇 초마다 함께 호출하여 문제를 해결했습니다. 그러나 이것은 꽤 해킹 된 수정처럼 보입니다 ... 특히, 나는 어쨌든 부적절한 시간에 수집하여 문제를 야기 할 수 있다고 걱정합니다. 어떤 일이 일어나고 있는지 정확히 알기 위해 며칠을 기다릴 때까지 적어도 PyV8의 자동 가비지 수집을 비활성화하는 방법이 있습니까?PyV8 자동 가비지 수집을 비활성화합니다.
4
A
답변
4
V8의 소스 코드를 변경하여 가비지 수집을 해제 할 수 있습니다.
V8 소스에서 src/heap.cc를 편집하고 return 문을 Heap :: CollectGarbage의 시작 부분에 놓습니다.
그 외, 불가능합니다 (AFAICT) : V8은 메모리가 부족해지면 항상 가비지 수집을 호출합니다. 그렇게하지 않는 (구성 가능한) 방법은 없습니다.
+0
아, 그럴까 궁금해. 그것은 내가 원하는 것을 구현하기 위해 직접 패치해야 할 것 같은데 ... 좋은 출발점을 제공해 주셔서 감사합니다! – Claudiu
+0
이 작업을 수행하려면 다음과 같이 snapshotting을 비활성화해야합니다. 'make x64.debug -j9 snapshot = off' –
관련 문제
- 1. 가비지 수집을 트리거하는 원인
- 2. 가비지 수집을 지금 실행해야합니까?
- 3. 가비지 수집을 외부에서 수행하는 방법
- 4. 동시 가비지 수집을 어떻게 해제합니까?
- 5. 소유자 가비지 수집을 막는 스레드
- 6. 가비지 수집을 트리거하는 방법은 무엇입니까?
- 7. .Net에서 가비지 수집을 트리거하는 기준
- 8. 내부 참조가 가비지 수집을 막습니다.
- 9. Android 가비지 수집을 실행하지 않았습니다.
- 10. 녹아웃 ViewModel 가비지 수집을 계산했습니다.
- 11. "워크 스테이션"가비지 수집 또는 "서버"가비지 수집을 사용해야합니까?
- 12. Visual Studio 설치시 .NET에서 가비지 수집을 변경합니까?
- 13. 가비지 수집을 사용할 때 속성을 유지해야합니까?
- 14. JVM은 -Xmx 한도에 도달하면 가비지 수집을 강제합니까?
- 15. 자바 스크립트는 가비지 수집을 삭제하거나 사용합니까?
- 16. .NET 가비지 수집을 중지 할 수 있습니까?
- 17. 어떻게 가비지 수집을 실험 할 수 있습니까?
- 18. 가비지 수집을 사용하여 파일을 삭제하는 방법은 무엇입니까?
- 19. RAII와 가비지 수집을 상호 배타적으로하는 이유는 무엇입니까?
- 20. Firefox console.log로 인해 JavaScript가 가비지 수집을 방해합니까?
- 21. Ruby에서 가비지 수집을 프로파일 링하는 방법
- 22. .NET에서 가비지 수집을 일시 중지하는 방법은 무엇입니까?
- 23. 가비지 수집을 위해 연결된 이벤트 처리기 검색
- 24. PHP pThreads - 어떻게 가비지 수집을 수행합니까?
- 25. Go에서 가비지 수집을 최소화하는 방법은 무엇입니까?
- 26. 가비지 수집을 위해 개체를 추적하는 방법
- 27. 개체가 가비지 수집을 방지하는 방법은 무엇입니까?
- 28. SoftReference가 가비지 수집을 너무 일찍 시작합니다.
- 29. 명시 적으로 .NET에서 가비지 수집을 호출합니다.
- 30. java.io.serializable가 가비지 수집을 방지 할 수 있습니까?
문제가 있습니다. 문제가 무엇인가요? – user2357112
문제는 자바 스크립트 코드가 무작위로 실행을 중단한다는 것입니다. 그것은 segfault하는 데 사용하지만, 위의 수정을 한 후에는 더 이상 segfaults .. 그러나 때로는 자바 스크립트가 단순히 실행되지 않습니다. – Claudiu
현상금이 현상금과 관련이 없다면, 현상금은 V8 쓰레기 수거를 정복하는 방법을 알아내는 사람에게로 돌아갑니다. – Claudiu