본문 바로가기
Efficient Android Threading #4 메모리 관리 Efficient Android Threading #4 메모리 관리 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.6.1. 가비지 컬렉션 -각 프로세스(결과적으로 각 앱)는 자신만의 VM 과 가비지 컬렉터를 가진다. -진저브레드까지 안드로이드의 가비지 컬렉션은 메모리가 회수되는 동안 앱 실행이 중지되는 순차적 실행이었다.이는 UI rendering 의 일시적 멈춤으로 이어질 수 있었다.허니컴부터 GC 는 앱 스레드를 중지하지 않고 자체 스레드에서 동시적으로 실행된다. -달빅 GC 는 mark & swap 이라는 일반적인 두 단계 메커니즘을 사용한다.마크 단계는 객체 트리를 탐색하고 다른 객체에 의해 참조되지 않는 모든 미사.. 2018. 3. 20.
[Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 [Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 - 병렬 알고리즘과 관련한 최근의 연구 결과를 보면 대부분이 넌블로킹 알고리즘, 즉 여러 스레드가 동작하는 환경에서 데이터의 안정성을 보장하는 방법으로 락을 사용하는 대신 저수준의 하드웨어에서 제공하는 비교 후 교환(compare-and-swap) 등의 명령을 사용하는 알고리즘을 다루고 있다. - 넌블로킹 알고리즘은 운영체제나 JVM 에서 프로세스나 스레드를 스케줄링 하거나 가비지 컬렉션 작업, 그리고 락이나 기타 병렬 자료 구조를 구현하는 부분에서 굉장히 많이 사용하고 있다. - 넌블로킹 알고리즘은 락을 기반으로 하는 방법보다 설계와 구현 모두 훨씬 복잡하며, 대신 확장성과 활동성을 엄청나게 높여준다. - 넌블로킹 알고리즘은 훨씬 세밀.. 2017. 5. 9.
[linux] top 에 대한 많은 이야기. linux, Top 에 대한 많은 이야기. 참고 사이트 : http://bluelimn.tistory.com/740 실행 명령어 $ top [옵션] Top 의 출력 내용 분석 -top - 11:17:50 up 33 days, 18:22, 7 users, load average: 0.47, 0.72, 1.78 현재시간 / uptime / 로그인 유저수 / 로드 에버리지 로드 에버리지란? -Tasks: 190 total, 2 running, 185 sleeping, 2 stopped, 1 zombie 전체 프로세스 수 / 현재 실행중 프로세스 수 / 유휴 프로세스 수 / 정지상태 프로세스 / 좀비 프로세스 -Cpu(s): 0.3%us, 0.6%sy, 0.0%ni, 97.9%id, 0.0%wa, 0.5%hi,.. 2014. 3. 17.
[linux] Swap 메모리란? linux, Swap 메모리란? 참고 자료 : http://knight76.tistory.com/1549 어플리케이션의 RAM 용량이 차면, swap 메모리가 자동으로 늘어난다.하드디스크의 디스크 공간을 swap 메모리로 사용하기 때문에 속도가 느려진다.보통 swap 메모리는 기본 RAM 용량의 2배정도를 잡는 것을 권장한다.이 swap 메모리 용량은 성능이슈와 관련있기 때문에 알맞게 조정하는 것이 좋다. 메모리가 부족한 현상이 자주 발생하는 경우가 아니면 swap 자체를 사용하지 않는 것이 사실 좋다.만약 swap 메모리를 사용해야 하는 경우가 생긴다면, 하드웨어로 먼저 처리할 수 있는지 확인하여여유가 되면 하드웨어로 처리하는 것이 베스트이다. Ram 추가 세팅, SSD 사용 등이 하드웨어적 처리의 한.. 2014. 2. 15.
반응형