본문 바로가기

Linux

[리눅스 일반] 파일시스템 튜닝하기 (tune2fs) 출처 : http://pchero21.com/?p=9 1. 파일시스템 튜닝명령어 tune2fs 개론 - tune2fs 는 리눅스 파일시스템의 변경가능한 파라미터값을 설정하는 명령어임. 즉, 파일시스템의 파라미터값을 변경함으로서 파일시스템을 튜닝할 수 있으며 결과적으로 시스템의 성능을 향상시킬 수 있음. 하지만, tune2fs는 파일시스템의 파라미터값을 변경하는 것이므로 잘못하용하면 파일시스템에 큰 손상을 입힐 수도 있음. - 사용형식 tune2fs [ -l ] [ -c 최대마운트횟수] [ -e 에러발생시반응 ] [ -i 각점검간의간격 ] [ -m 예약블록퍼센트] [ -r 예약블록갯수 ] [ -u 사용자 ] [ -g 그룹 ] 장치명 2. 특정 파일시스템의 수퍼블록정보 확인하기 - tune2fs -l /de.. 더보기
[Linux] 동적 메모리 할당자 : slab, slub, slob 출처 : http://studyfoss.egloos.com/5332580 오랜 동안 커널의 동적 메모리 할당자는 slab이었다. slab은 일반적인 환경에서 무난한 성능을 보여주었기 때문에 널리 사용되었지만 메모리 자원에 상당한 제한을 받는 임베디드 환경에서나 매우 높은 확장성이 요구되는 서버 환경에서는 용납하기 힘든 overhead를 지니고 있기 때문에 새로운 할당 알고리즘이 사용되고 있다. slob과 slub 할당자는 각각 2.6.16과 2.6.22 버전에서 추가된 것으로 단 1KiB의 메모리도 아쉬운 제한적인 임베디드 환경에서는 slob을, 많은 수의 CPU와 (메모리) 노드로 구성된 서버 환경에서는 slub을 사용할 수 있다. (2.6.23 버전 이후로는 x86에서 기본 할당자로 slab 대신 s.. 더보기
안드로이드 로그뷰어(LogViewer for android) - 자바 출처 : http://blog.naver.com/iookill/140135139931 자바로 만들었습니다. 플랫폼에 상관없이 돌아 갈겁니다. 사용법은 윈도우용과 동일합니다. 추가된 기능은 디바이스 여러게연결 되었을때 선택할 수 있게 했습니다. 1.4v : 창크기 저장1.3v : Recent file 및 File open추가1.2v : Tid 필터 추가1.1v : Level F 추가1.0v : Pid filter 추가0.9v : 폰트 타입 추가0.8v : 필터 체크 박스 추가0.7v : 커널로그 파싱/LogFilter.ini에 컬러정의(0~7)0.6v : 필터 대소문 무시0.5v : LogFilterCmd.ini 추가0.4v : add thread option, filter 저장0.3v : 디바이스 선택 .. 더보기
[Android] OOM (Out of Memory) 와 LMK (Low Memory Killer) 이야기. 출처 : http://shadowxx.egloos.com/10781292 안녕하세요. 멀티미디어팀에 이상철입니다. 오늘은 여러분들이 프로젝트를 진행하면서 한번을 들어 볼(?) OOM (Out of Memory) 와 LMK (Low Memory Killer) 에 대한 이야기를 해볼까 합니다. 오늘 이야기는 예전에 제가 보내드렸던 "[Android] Background process 줄여서 Memory 확보로 성능 개선하기." 메일과 관련이 깊은 내용입니다. 사실 이번 이야기는 제 동기가 찾아서 보내준 내용을 제가 여러분들과 공유하고자 전송해드리는 정도입니다. 간단히 정리하면, OOM 은 Linux 커널에서 예전부터 쭈~욱 있어왔던 메모리 관리 모듈이고 이게 휴대기기에 들어가는 system 에서는 안맞다고 .. 더보기
OOM killer & Android LMK 출처 : http://lucidtale.wordpress.com/?s=Android+Low+Memory+Killer OOM killer & Android LMK현재 리눅스 커널에는 OOM(Out of Memory) killer가 있다. 소스 파일 위치는 mm/oom_kill.c 이며메모리가 부족해서 할당에 실패할 경우alloc_pages -> … -> out_of_memory() -> select_bad_process() -> badness() 가 불리게 된다.bad process의 선정은 다음과 같다./* * The baseline for the badness score is the proportion of RAM that each * task’s rss, pagetable and swap space .. 더보기
Dalvik Optimization and Verification중에서 (dexopt) 출처 : http://anzero.blog.me/89651858 안드로이드 소스를 빌드해서 생성하면 dalvik문서가 생성되는데,Android site에서는 공개되지 않은 것 같다.dalvik vm 목적, 구현 mechanism, prepared dex등으로 구성되는데,관심사순으로 재구성하여 발췌하였다. There are at least three different ways to create a "prepared" DEX file, sometimes known as "ODEX" (for Optimized DEX):The VM does it "just in time". The output goes into a special dalvik-cache directory. This works on the desk.. 더보기
[Android] stop_drawing_early_suspend: timeout waiting for userspace to stop drawing 출처 : http://iamyooon.tistory.com/86안드로이드 디바이스를 사용하는 도중터치는 동작하지만 화면이 refresh되지 않는 문제를 경험한 적이있다.디버그메시지를 살펴보니 stop_drawing_early_suspend: timeout waiting for userspace to stop drawing라고 warning메시지를 띄우는것을 볼 수있었다.kernel/kernel/power/fbearlysusepnd.c에는 early suspend 진입시에 호출되는 stop_drawing_early_susepnd()가 있다.이 함수에서는 fb_state변수를 FB_STATE_REQUEST_STOP_DRAWING으로 설정한 다음 HZ시간 동안 해당 변수가 FB_STATE_STOP_DRAWIN.. 더보기
git diff 보다 편리하게 git change 보기 출처 : http://blog.daum.net/bluebread/15 안드로이드에서 git을 사용하는데 적응이 안되는 부분이 변경사항을 보는 것입니다.(물론 gerrit을 사용하는 환경이라면 또다른 이야기입니다.) araxis merge 나 beyond compare 와 같은 디렉토리 비교툴에 익숙하시다면, git diff의 결과물이 낮설겁니다. git diff 의 표시형식은 다음과 같이 - + 로 추가 삭제된 내용을 표시합니다. 이런 diff 형식이 낮선 분들은 git difftool을 사용하여 다음과 같은 좌우로 비교창을 열어 볼 수도 있습니다. (vimdiff를 사용한 예) 위에서는 vimdiff를 사용하였지만, git difftool은 실행할 파일을 지정할 수가 있습니다. 이 기능을 이용하여 (g.. 더보기