'Root'에 해당되는 글 472건

  1. 2011.07.21 [자바 메모리 모니터링] JVM에서 사용하는 전체 메모리를 모니터링하는 방법
  2. 2011.07.09 [Navigation Timing] 화면처리 시간 측정에 대한 자료 1
  3. 2011.07.05 [Java Optimizer] Soot라는 자바 옵티마이저
  4. 2011.07.05 [Java GC] GC가 성능에 미치는 영향에 대한 고찰 -링크
  5. 2011.06.13 [JCO 2011] 제니퍼도 울고갈 BTrace 교육 준비
  6. 2011.06.03 [Blog2Book] Troubleshooting 트러블 슈팅 책 링크 1
  7. 2011.05.25 [Blog2Book 자바 트러블 슈팅] 조만간 자바 트러블 슈팅 책이 나옵니다. 1
  8. 2011.05.16 [컨퍼런스] SDEC 행사가 열립니다.
  9. 2011.05.03 [LogCompilation] 자바의 JIT가 어떻게 컴파일이 되는지 보고 싶다면...
  10. 2011.04.25 [My Fourth book] 좀 쉬어가자
  11. 2011.04.19 [도메인 추가 구매] GodOfJava.com
  12. 2011.04.04 [My Fourth book] 목차 작성 완료 3
  13. 2011.04.04 [Blog2Book 자바 트러블 슈팅] 원고를 넘기다.
  14. 2011.04.01 [IT 세미나 일정] 구글 캘린더 IT 세미나 / 컨퍼런스 일정
  15. 2011.04.01 [GC] CMS 사용시 verbosegc 분석하는데 도움이 되는 자료
  16. 2011.03.29 [Java Basic] 왜 Thread의 stop 메소드는 deprecated 되었을까?
  17. 2011.03.28 [Blog2Book TS] 이번주에 탈고 1
  18. 2011.03.28 [Advanced Java] Attach API
  19. 2011.03.24 [2011 JCO] 올해 JCO Speaker 모집중...
  20. 2011.03.21 [링크] Java Attach API
  21. 2011.03.08 [Couch DB] Couch DB 참조 자료
  22. 2011.02.07 [Game] Trade Nations 데코레이션별 능력치 및 수입 (XP gold) 향상표
  23. 2011.01.04 [성능 테스트 가이드] Performance test guide - 영어 이북
  24. 2011.01.04 [자바 트러블 슈팅] 집필 완료 2011년 2월말 !!! 2
  25. 2011.01.04 [안드로이드 책] 안드로이드 집필은 무기한 보류 2
  26. 2010.12.23 [Java source] 자바 소스 목록
  27. 2010.12.21 [자바 객체의 크기] Shallow size와 Retained size
  28. 2010.12.03 [Linux] 리눅스 서버의 cached 된 메모리가 많을 때...
  29. 2010.11.15 Java Concurrency in Practice 저자의 블로그
  30. 2010.10.28 [Mac] 윈도우에서 압축한 파일을 맥에서 풀 때 한글이 깨지는 현상에 대한 해법
회사 동료분이 공유해 주신 자료가 있어 그 링크를 적어놓는다.

http://www.ibm.com/developerworks/linux/library/j-nativememory-linux/ 

리눅스에서 특정 프로세스의 메모리 사용량을 모니터링하는 방법이다.

이걸 진작에 알았더라면, 트러블 슈팅 책에 썼을텐데.
- -;

 
Posted by tuning-java
,
W3C 라는 사이트에 화면을 처리하는데 소요되는 시간을 어떻게 측정하는지에 대한 자료가 있다는 것을 처음 알았다.

http://www.w3.org/TR/2011/WD-navigation-timing-20110111/

중간에 그림만 봐도 큰 도움이 될 듯... 
Posted by tuning-java
,
Soot 이라는 자바 옵티마이징 프레임웍이 있다고 해서 소개해본다.

http://www.sable.mcgill.ca/soot/

자세한 내용은 나중에 시간 있을 때 한번 볼 예정이다.
언제가 될지는 모르겠지만... ㅎㅎ



Posted by tuning-java
,
GC가 얼마나 성능에 영향을 주는지에 대한 설명이 잘 되어 있는 내용 링크...

http://blog.dynatrace.com/2011/03/24/the-impact-of-garbage-collection-on-java-performance/ 

그리고 Sun, JRockit, IBM의 JVM이 각각 어떻게 다른지에 대해서도 알아보는 것도 좋을 것이다.

http://blog.dynatrace.com/2011/05/11/how-garbage-collection-differs-in-the-three-big-jvms/

 
Posted by tuning-java
,
2011년 6월 19일에 진행되는 JCO 교육에 참석하실 분들은 아래의 가이드대로 준비한 후 교육장에 참석하셔야만 합니다. (그렇지 않으신 경우 제대로 된 교육이 진행되지 않습니다.)

1. BTrace 다운로드
아래 URL에서 본인이 지참하시는 PC의 OS에 맞는 라이브러리를 다운로드 합니다.
http://kenai.com/projects/btrace/downloads/directory/releases/release-1.2 

2. JDK 설치
Mac 사용자는 상관 없지만,
윈도우 사용자분들은 JDK를 반드시 6.0 이상 설치하셔야 하며,
C:\jdk1.6 폴더에 설치해 주시길 권장합니다.
C:\Program files 아래에 JDK를 설치하시면 실습이 매우 어려우니,
귀찮으시더라도 해당 폴더에 설치해 주시길 권장합니다.

3. 샘플 소스 다운로드
아래의 샘플 소스를 참석하실 PC에 다운로드 하셔서 갖고 오셔야만 합니다.



이렇게 필요한 파일들만 받고 설치해 주시면 교육 준비는 끝납니다.
실제 필요한 설정은 교육 시간에 진행되오니 걱정 안하셔도 됩니다.

감사합니다. 
Posted by tuning-java
,



2011. 6월 출간되는 
자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기의 출판사 링크입니다.


출판사

Yes24

강컴

교보문고

알라딘

인터파크

리브로

반디앤루니스

 
Posted by tuning-java
,
"자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기"라는 깔끔한(?) 제목의 책이 조만간 나온다. (아마도 6월 중순에는 시중에 풀릴겁니다.)

2010년 1월 3일부터 집필을 시작하여 6개월간 딴 책(안드로이드)을 쓰다가 너무 광활한 범위에 포기하고, 올해 1월부터 다시 정리하기 시작하여 집필한 책이다. 

이번 주말에 마지막 원고 리뷰 후 정리하면 6월 중순쯤 될 예정이다.

이 책의 구성은 다음과 같다.
- 웹 기반의 시스템의 장애 유형
- 쓰레드 문제와 해결 방법
- 메모리 문제와 해결 방법
- 진단을 위한 무료 툴들
- 많은 자바 개발자들이 취약한 리눅스에서 리소스를 모니터링 하는 방법
- 장애 유형에 따른 진단 절차
뭐 울트라 킹왕짱 자바 개발자 및 자바 엔지니어는 다 알고 있는 내용이므로 보실 필요는 없겠지만, 장애에 허덕이고 있는 분들은 이 책을 보면 문제 해결의 답이 보일 수도 있다.

WebTune, Jennifer, Pharos등의 APM들을 사용하는 분들이라도 그 툴들에서 잡을 수 없는 문제들을 잡는 방법이 나와 있기 때문에 분명 도움이 될 것이다. (이 툴들이 나쁘다거나 부족하다는 것은 저~~~얼대 아님) 

지금까지의 내 책들과 다르게, 출판사에서 적극적으로 내가 쓴 모든 문장을 가독성이 좋도록 바꿨기 때문에 책에 대한 가독성은 크게 문제하지 않아도 된다.

최초에 보낸 원고의 페이지는 그리 많지 않았는데, 조판 작업 후 페이지가 많아져서 부득이하게 가격은 24,000 원으로 책정했다고 한다. T T;
내가 책정한 것은 아니니 저를 원망하지는 말아주시구요~~~

아무쪼록 이 책이 장애에 허덕이고 있는 많은 개발자와 시스템 운영자 분들에게 도움이 되길 바랍니다.
 
Posted by tuning-java
,
2011년 6월 27~28일 양일간 SDEC이라는 행사가 열린다.

http://www.sdec.kr/ 
를 보면 자세한 내용을 알 수 있을 것이며, 
Twitter, Facebook등의 엔지니어들이 대용량 데이터를 어떻게 처리했는지.
어떤 문제를 어떻게 해결했는지에 대한 정보를 공유할 예정이다.

행사에 대한 문의가 있으면  sdechelp@naver.com 로 메일 보내면 된다.

만약 스폰서에 참여하고 싶은 회사 및 조직이 있으면 여기로 문의하면 성심성의껏 답해 준다고 한다. ㅋㅋ





Posted by tuning-java
,
http://wikis.sun.com/display/HotSpotInternals/LogCompilation+overview 를 보면 상세한 내용을 볼 수 있을 것이다.

일단 LogCompilation이라는 것이 뭔지 알아야 하는데...
자바 실행시 옵션에 

-XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation 


라고 하면 XML 형태의 로그파일을 생성한다. hotspot.log라는 이름으로...
이클립스에서 실행하거나 어디에 이 파일이 생성되는지 모르면 다음과 같이 지정하면 된다.

-XX:LogFile=/develop/ztemp/logcompile.xml


당근 /develop/ztemp 라는 디렉터리가 있어야 잘 되겠죠?

이렇게 세가지 옵션을 지정하고 자바 애플리케이션을 실행하면 XML 타입의 로그가 쌓인다.

이 XML 분석방법은 일단 나중에 ...
http://wikis.sun.com/display/HotSpotInternals/LogCompilation+tool
에 보면 logc.jar가 만들어 진다는데, 뭘 해야 만들어지는지 아직 모르겠음. - -;
 
소스 코드에서 그냥 make 실행하면 logc.jar파일이 만들어지긴 하는데 parsing이 잘 안된다.

이거 괜히 알았다가 산넘어 산이다. 
Posted by tuning-java
,
당분간 좀있다 나올 책을 위해서 좀 쉬어야 겠다. 현재 집필중인 책은 일단 쭉~~ 쉬었다가 내년 정도에나 다시 시작해야지. ㅎㅎㅎ

컨퍼런스 준비하다보니 벌써 4월이 휘리리리릭~~~~ 
Posted by tuning-java
,
며칠전 새벽에 일어나서, 인터넷 서핑하다가,
corejava, javacore등의 도메인을 사려고 했는데,
이미 산 X들이 있어서 이것 저것 뒤져 보다가,
God of war  가 생각나서,
GodOfJava.com이라는 도메인을 덜컥 사버렸다.

게다가 호스팅케이알에서 엄청 싼 가격으로 도메인 등록이 가능하길래,
5년치로 계약했다.

한번 들러 보시길... (아직 별건 없음 ㅎㅎㅎ)
http://www.godofjava.com/ 

'日常茶飯事' 카테고리의 다른 글

달리자 2014  (0) 2013.12.31
NHN을 뒤로 하며  (3) 2012.07.27
불타는 한달  (0) 2010.03.20
[구글 웨이브] Google Wave  (0) 2009.05.30
[Basic] 기본에 대한 개인적인 생각  (3) 2009.04.20
Posted by tuning-java
,
나의 네번째 책의 목차 작성을 완료했다.
담주부터 시작이닷...
(새로 주문한 넷북 밧데리 오면~~~) 

새로 주문한 넷북 배터리가 오고,
트러블 슈팅 책 원고를 다 넘김 관계로
2011년 4월 6일부터 집필 시작~~~

2011년 12월 or 2012년 1월 Yes24
컴퓨터 인터넷 분야 1위 달성 및 유지를 목표로~~~
ㅎㅎㅎ 
Posted by tuning-java
,
작년 1월 3일부터 집필한 자바 트러블 슈팅 책의 원고를
한개 장과 부록 한개장을 제외하고 이미지까지 출판사에 넘겼습니다.

혹시나 해서 말씀드리지만, 이 책을 제대로 보시려면
"자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"와
"자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기"를 함께 보셔야 됩니다. ㅎㅎㅎ

지금 안본다고 버리지 마세요...

궁금해 하실만한 목차는 책 출간 2주정도 전에 오픈할예정입니다.
(궁금해도 참으3)

출판사에서 뚜다닥 해주시면 5월말 출간(?)
약간 느려져도 상반기내에는 나올겁니다.  ㅎㅎㅎ
 
Posted by tuning-java
,
누가 관리하는 것인지 모르겠는데,
구글 캘린더로 IT  세미나 및 컨퍼런스를 정리해 놓고 있다.
(대단한데?)

https://www.google.com/calendar/embed?src=ocbplg9kgm4oad02v61m56nb28@group.calendar.google.com&ctz=Asia/Seoul&gsessionid=OK 
Posted by tuning-java
,
http://blogs.sun.com/jonthecollector/entry/did_you_know

내가 알고 있는 단계 보다 더 복잡하구나~~~

 
Posted by tuning-java
,
답은 아래 링크에 있는데...
http://download.oracle.com/javase/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html 

아래의 글도 읽어보면 도움이 될 것입니다.
http://forward.com.au/javaProgramming/HowToStopAThread.html

그런데, 이게 최선입니까?
확실해요? 
Posted by tuning-java
,
이번주에 Blog2Book 시리즈의 나의 세번째 책인 
트러블슈팅 책을 출판사에 전달할꺼다.
(정확하게는 다음주 월요일 아침(4/4)에 전달 예정)
그런데 볼때 마다 내용이 바뀌니 걱정이다.

오늘부터는 퇴근 버스에서도 리뷰~~~
아가 잠들면 밤늦게까지 리뷰~~~

보고 싶으신분들은 두달(or 세달)만 기다려주세요 ~~~

"자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"의 부족한 부분을 채우는 버전이라고 보시면 되겠습니다. ㅎㅎ.

 
Posted by tuning-java
,
Attach API 에 대해서 정리된 글...

http://www.javaworld.com/community/node/470 

잘 살펴봐야 하는데 시간이 없넹~~~ 
Posted by tuning-java
,
http://jco.or.kr/form.jsp

올해 한번 JCO에서 발표하실 생각이 있으신분들은 도전해 보시길~~~

작년하고는 많이 다른,
좀 제대로 된 행사가 되려고 노력하는 것이 많이 보이네요.

그리고, 사전에 발표하는 내용에 대한 리허설도 한다고 하니,
발표 스킬을 늘리는 좋은 기회가 될 수 있을 것으로 보입니다.

 
Posted by tuning-java
,
자바에는 Attach API라는 것이 있다.

이게 뭐냐면,
현재 떠 있는 JVM에 붙어서 뭔가 작업을 하는 것을 도와주는 API다. 
패키지가
com.sun.tools.attach 로 시작하기 때문에,
일반 자바 API 문서에는 링크가 없다.
대신 javadoc/jdk/api/attach/spec/index.html 을 보면 된다.

자세한 설명은 아래 링크를 참조하면 좀 이해가 될 듯...
http://www.javaworld.com/community/node/470 

 
Posted by tuning-java
,
일명 Couch DB Reference Card이다.

계속 upgrade되고 있고, PDF로 제공하고 있다.
Posted by tuning-java
,
요즘 즐겨하는 Trade Nations 라는 게임의 최근 업데이트에
데코레이션을 구입하면 능력치와 수입이 증가한다고 해서 찾아봤다.

위에 있는 링크를 클릭해 보면 알겠지만,
Gold로 살 수 있는 데코레이션의 능력치 향상은
많아야 개당 .02%다. - -;

따라서 1%의 XP가 증가하려면 50개는 있어야 증가한다는 - -;

Posted by tuning-java
,
http://perftestingguide.codeplex.com/

과정을 하나 만들어야 하는 압박 때문에 구글링하다가 찾은 책이다. 
이 링크를 찾아 가면 해당 책의 PDF 버전을 무료로 다운로드 할 수 있다.

단점이라면 영어라는거~~~
(그런데 매우 쉬운 영어라 쉽게 읽힐 것이다.)
Posted by tuning-java
,
조만간 출판사와 계약을 하고 2월 말에 원고를 넘길 계획이다.

아무리 늦어도 5월에는 책이 나올 수 있지 않을까 조심스럽게 생각하고 있다.

지금까지 써 왔던 Blog2Book 시리즈로 낼 확률은 90% 이상이다. ^^;
Posted by tuning-java
,
한 30~40%정도 쓰긴 했지만,
지금 너무 많은 책들이 나와서 경쟁력도 많이 떨어진다는 판단을 했다.
(마음만 먹으면 필요한 앱을 만들 수 있는 수준이 된 것으로 만족할 예정...)

언제쯤 나올 수 있을지는 모르겠지만, 
일단은 전문 분야인 성능과 자바 분야에 대한 책들의 Set를 먼저 만들어 놓는 것이 좋을 듯 하다. 
Posted by tuning-java
,
가끔가다 JDK 소스를 보고 싶을 때가 있는데,
기본적으로 JDK를 설치하면 Java 소스들만 제공된다.

실제 C 레벨까지의 소스를 보려면 아래 링크에서 원하는 버전을 선택해서 보면 된다.

http://download.java.net/jdk6/6u10/archive/
Posted by tuning-java
,
원문 출처 : http://www.yourkit.com/docs/95/help/sizes.jsp

번역 : 내가 했음. ㅎㅎ

Shallow size of an object is the amount of memory allocated to store the object itself, not taking into account the referenced objects. Shallow size of a regular (non-array) object depends on the number and types of its fields. Shallow size of an array depends on the array length and the type of its elements (objects, primitive types). Shallow size of a set of objects represents the sum of shallow sizes of all objects in the set.

객체의 Shallow 크기라는 것은 객체 자체가 저장되는 메모리의 양을 말하며, 참조되는 객체가 포함되지 않은다. 배열이 아닌 Shallow 크기는 해당 객체가 갖고 있는 필드의 갯수와 타입에 따라 달라진다. 배열의 Shallow 크기는 배열의 길이와 요소(객체, 기본자료형)의 타입에 의존적이다. 객체의 집합(set)에 대한 Shallow 크기는 해당 집합(set)에 있는 모든 객체의 Shallow 크기의 합을 말한다. 

Retained size of an object is its shallow size plus the shallow sizes of the objects that are accessible, directly or indirectly, only from this object. In other words, the retained size represents the amount of memory that will be freed by the garbage collector when this object is collected.

Retained 크기는 Shallow 크기 + 해당 객체에서만 직/간접적으로 접근 가능한 객체들의 shallow 크기를 말한다. 다시 말해서, retained 크기는 가비지 컬렉터에 의해서 해당 객체가 제거될 때 사라지는 메모리의 크기를 나타낸다. 

To better understand the notion of the retained size, let us look at the following examples:

retained size에 대한 보다 더 자세한 이해를 위해서 다음의 예제를 살펴보자.

In order to measure the retained sizes, all objects in memory are treated as nodes of a graph where its edges represent references from objects to objects. There are also special nodes - GC root objects, which will not be collected by Garbage Collector at the time of measuring (read more about GC roots).

retained size를 측정하기 위해서는, 메모리에 있는 모든 객체들은 그래프의 노드로 간주되며, 그것들의 edge는 객체들에서 객체들로의 참조를 나타낸다. 여기에 특별한 노드가 있는데, 이는 GC root 객체이며 이것은 측정 당시에 가비지 컬렉터에 의해서 처리되지 않는다. 

The pictures below show the same set of objects, but with varying internal references.

아래 그림을 보면 돌일한 set을 가지는 객체들이며, 내부적인 참조는 다른 상황이다.

Figure 1:
Figure 2:

Let us consider obj1.
As you can see, in both pictures we have highlighted all of the objects that are directly or indirectly accessed only by obj1. If you look at Figure 1, you will see that obj3 is not highlighted, because it is also referenced by a GC root object. On Figure 2, however, it is already included into the retained set, unlike obj5, which is still referenced byGC root.

obj1을 생각해보자.
여러분들이 볼 수 있듯이, 두 그림에서 색칠되어 있는 객체들은 obj1에서만 직/간접적으로 접근가능하다. 그림 1에서는 obj3이 색칠되어 있지 않은 것을 볼수 있다. 왜냐하면 해당 객체는 GC root 객체에서 참조하고 있기 때문이다. 그림 2에서는 obj3이 retained set에 포함되어 있다. obj5는 아직도 GC Root에서 참조하고 있는 것을 볼 수 있다.

Thus, the retained size of obj1 will represent the following respective values:

  • For Figure 1: the sum of shallow sizes of obj1obj2 and obj4
  • For Figure 2: the sum of shallow sizes of obj1obj2obj3 and obj4

따라서  obj1의 retained size는 다음의 값들을 나타낸다.
  • 그림 1 : obj1,2,4의 shallow size의 합
  • 그림 2 : obj1,2,3,4의 shallow size의 합


Looking at obj2, however, we see that its retained size in the above cases will be:

  • For Figure 1: the sum of shallow sizes of obj2 and obj4
  • For Figure 2: the sum of shallow sizes of obj2obj3 and obj4

obj2를 보자. 이 객체의 retained 크기는 
  • 그림 1 : obj2, 4의 shallow size의 합
  • 그림 2 : obj2,3,4의 shallow size의 합

In general, retained size is an integral measure, which helps to understand the structure (clusterization) of memory and the dependences between object subgraphs, as well as find potential roots of those subgraphs.

일반적으로 retained size는 integral 한 측정이며, 메모리의 구조와 객체 하위 그래프의 의존관계를 이해하는데 도움이 된다. 그리고 이러한 하위 그래프의 잠재적인 root를 찾을 수 있다.  


Posted by tuning-java
,
free 라는 명령어를 사용하면 리눅스 서버의 메모리 사용량을 볼 수 있다.
여기에 -m옵션을 더하면 MB 단위로 데이터를 볼 수 있다.

만약 이 명령어를 사용했을 때 cached 메모리 크기가 몇기가일 경우,
매우 찜찜할 수도 있다.
따라서 이러한 경우엔 다음과 같은 명령어를 치면 된다.
(외쿡 아저씨들의 설명에는 아래의 sync명령어를 먼저 수행한 후 하라고 되어 있다.)

sync
echo 3 > /proc/sys/vm/drop_caches

이렇게 수행한 후 free -m 명령어를 수행해 보면,
cached 영역에 있는 메모리가 줄어든 것을 볼 수 있다.

관련 내용은 
를 참조하기 바란다.

Posted by tuning-java
,
http://www.briangoetz.com/pubs.html

2006년에 발간된 Java Concurrency in Practice라는 책의 블로그이다.

자바에 대한 매우 많은 유용한 문서들을 많이 작성했다.

한번 들어가서 내용들을 보시길...

애기 돌잔치한다고 11월을 바삐 지냈더니 벌써 중순.
예전에 짱박아 놨던 글 하나 포스팅... ㅋㅋ
Posted by tuning-java
,
회사에서 윈도 쓰다가 맥으로 바꾸니,
압축해서 옮긴 파일을 풀때 한글파일명이 다 깨져버린다.

여기 저기 구글링하다가 찾은 훌륭한 툴
바로 Unarchiver !!!


이와 관련된 모든 근심 걱정을 다 없애준다. ㅎㅎㅎ
Posted by tuning-java
,