이클립스 속도 올리기
- 7 Tips to Speed Up Eclipse
- 2015/11/02 - [Util/Eclipse] - 이클립스 성능 최적화
- 2013/08/09 - [Util/Eclipse] - 이클립스 INI 환경설정
- ramdisk create/delete on Mac OS X.
- Script to Change JAVA_HOME System Variable in Windows
- 이클립스(Eclipse) 아이콘 우분투 Unity 런처(Launcher)에 등록하기
- Always run the latest JDK and Eclipse.
64bit 최신버전 Java를 사용하라
- Tune Eclipse Preferences
이클립스 환경을 조정하라
- General > Startup and Shutdown : remove all plugins activated on startup
시작시 활성화하는 플러그인을 모두 제거하라
- General > Editors > Text Editors > Spelling : Disable spell checking
단어 검사기능을 해제하라
- General > Validation > Suspend all
유효성 검사를 모두 일시 중지하라
- Window > Customize Perspective > Remove stuff you don’t use or want (shortcut keys are your friends), same for Menu Visibility (how many times have you printed a source file…)
사용하지 않는 Perspective는 제거하라
- Install/Update > Automatic Updates > Uncheck “Automatically find new updates”
자동 업데이트 기능을 해제하라
- General > Appearance > Uncheck Enable Animations
애니메이션 기능을 해제하라
- Stay with the default theme. Unfortunately, anything else makes it really laggy and slow
기본테마를 사용하라
- Java > Editor > Content Assist > disable Enable Auto Activation. Advanced > Remove all unwanted kinds
코드 어시스트 기능은 Ctrl+Space로 사용하라
- General > Startup and Shutdown : remove all plugins activated on startup
- Keep your JDK on a RAM Disk
Java를 RAM Disk에 유치하라
경고 : RAM디스크는 자료를 보존하지 못합니다. 컴퓨터를 리부팅할 경우 RAM디스크는 자동으로 초기화 됩니다.
리눅스 유저
/dev/shm 이용phpstorm, android Studio 는 화면이 깨진다.# Utilities 복사 #sudo cp -fr ~/Utilities/* /media/RAMDISK/ sudo cp -fr /usr/lib/jvm/java-8-oracle /dev/shm/jdk sudo cp -fr ~/Utilities /dev/shm/ # 실행명령어 등록 sudo update-alternatives --install "/usr/bin/studio" "studio" "/dev/shm/Utilities/androidStudio/bin/studio.sh" 1 sudo update-alternatives --install "/usr/bin/eclipse" "eclipse" "/dev/shm/Utilities/eclipse/eclipse" 1 sudo update-alternatives --install "/usr/bin/phpstorm" "phpstorm" "/dev/shm/Utilities/PhpStorm/bin/phpstorm.sh" 1 # 기본 JDK 설정 sudo update-alternatives --install "/usr/bin/java" "java" "/dev/shm/jdk/bin/java" 1 sudo update-alternatives --config java
tmpfs 이용
sudo mkdir /media/JDKRAMDISK sudo mount -t tmpfs tpmfs /medis/JDKRAMDISK # 기본값은 RAM+SWAP 절반으로 설정되지만 설치된 파일만큼만 사용한다. #sudo mount -t tmpfs tpmfs /medis/JDKRAMDISK -o size=512M # /etc/fstab 추가 sudo vi /etc/fstab # tmpfs /media/JDKRAMDISK tmpfs defaults,mode=1777 0 0 sudo apt-get install squashfs-tools mksquashfs /usr/lib/jvm/java-8-oracle ~/jdk8.sqsh sudo mount /home/username/jdk8.sqsh /media/JDKRAMDISK -t squashfs -o loop # /etc/fstab 추가 sudo vi /etc/fstab # /home/username/jdk8.sqsh /media/JDKRAMDISK squashfs ro,defaults,loop 0 0 # 기본 java 추가 sudo update-alternatives --install "/usr/bin/java" "java" "/media/JDKRAMDISK/bin/java" 1 # java 설정 확인 및 수정 sudo update-alternatives --config java # 기본으로 사용할 자바버전 번호를 선택한다.
fstab 에서 /home/username/jdk8.sqsh 실행이 제대로 되지 않아서 쉘로 실행
# jdkramdisk.sh sudo mkdir /media/RAMDISK sudo mount -t tmpfs tmpfs /media/RAMDISK # JDK 설정 sudo mkdir /media/RAMDISK/jdk sudo mount ~/jdk8.sqsh /media/RAMDISK/jdk -t squashfs -o loop # eclipse 설정, ~/Utilities/ 모든 Tool 복사 및 사용자 변경 sudo cp -rf ~/Utilities/* /media/RAMDISK/ sudo chown -R username /mdia/RAMDISK/* # 명령어 등록 sudo update-alternatives --install "/usr/bin/java" "java" "/media/RAMDISK/bin/java" 1 sudo update-alternatives --install "/usr/bin/eclipse" "eclipse" "/media/RAMDISK/eclipse/eclipse" 1 # 기본 명령어 설정 sudo update-alternatives --config java sudo update-alternatives --config eclipse
/media 에 작성한 폴더가 지워지지 않을 경우
sudo rm -fr /media/JDKRAMDISK/* sudo umount -f /media/JDKRAMDISK sudo rm -fr /media/JSKRAMDISK
우분투 유니티에 실행환경 등록
/usr/share/applications/eclipse.desktop[Desktop Entry] Type=Application Name=Eclipse Comment=Eclipse Integrated Development Environment Icon=/opt/eclipse/icon.xpm Exec=eclipse Terminal=false Categories=Development;IDE;Java;
MAC 유저
-
diskutil 툴을 이용해서 RAM디스크 생성
vi ramdisk.sh #!/bin/bash # ram://614400 300M #diskutil erasevolume HFS+ 'JDKRAMDISK' `hdiutil attach -nomount ram://614400` # ram://794400 388M diskutil erasevolume HFS+ 'JDKRAMDISK' `hdiutil attach -nomount ram://794400` #cp -r /Library/Java/JavaVirtualMachines/jdk1.x.y_z.jdk /Volumes/JDKRAMDISK cp -r /Library/Java/Home/* /Volumes/JDKRAMDISK
실행권한
chmod 755 ramdisk.sh
실행
./ramdisk.sh Started erase on disk4 Unmounting disk Erasing Initialized /dev/rdisk4 as a 300 MB case-insensitive HFS Plus volume Mounting disk Finished erase on disk4 JDKRAMDISK
MAC JAVA_HOME 설정
# 백업 sudo mv /Library/Java/Home /Library/Java/Home.back # 기본 JAVA_HOME 을 변경 sudo ln -s /Volumes/RAMDISK/jdk /Library/Java/Home
- 디바이스 정보에 JDKRAMDISK 생성 확인
-
Windows 유저
- imdisk 다운로드 및 설치
- 배치파일 만들기
@echo Placing JDK on Virtual Disk N:/ @echo off sc config imdisk start= auto net start imdisk imdisk -a -t vm -s 512m -m n: format n: /q /Y label n: JDK RAMDISK call xcopy "C:\Program Files\Java\jdk1.8.0_66" N:\jdk1.8.0_66\ /S /E /Y /Q set JAVA_HOME="N:\jdk1.8.0_66" REM SETX /M JAVA_HOME "%JAVA_HOME%" REM SETX /M PATH %PATH%;%JAVA_HOME%\bin; SET JAVA_HOME="%JAVA_HOME%" SET PATH="%path%;%JAVA_HOME%\bin;"
- Administrator 실행권한으로 실행하기
OS가 부팅될때 ramdisk.bat가 실행될 수 있도록 시스템을 구성할 수 있습니다.
Windows 8 미만 : Windows+R > msgconfig > 시작프로그램 등록
Windows 8 이상 : 컴퓨터 관리 > 시스템 도구 > 작업 스케줄러 > 기본 작업 만들기
JDKRAMDISK 작업을 만든 후 속성에서 '가장 높은 수준의 권한으로 실행(I) 체크 설정
- Tweak your eclipse.ini
eclipse.ini을 설정하라.
이 부분에서는 7 Tips to Speed Up Eclipse에서 이해하기 쉽도록 이미지를 제공합니다. 한번 눈으로 스윽 보면 바로 이해가 가도록 잘 만 들었습니다.- RAM디스크에 있는 JDK를 이용하라
-vm /Volumes/JDKRAMDISK/jdk1.x.y_z.jdk/Contents/Home/bin -vm N:/jdk1.x.y_z/bin
- 바이트코드 검증 해제
-Xverify:none
- 컴파일러 최적화 성능 기능을 사용
-XX:+AggressiveOpts
- increase permanent generation space (Perm 공간을 늘려라)
-XX:PermSize=512m -XX:MaxPermSize=512m
- increase min and max heap sizes (Heap 공간을 늘력라)
-Xms2048m -Xmx2048m
- increase heap size for the young generation (새로이 생성되는 Heap 공간을 늘려라)
-Xmn512m
- set stack size for each thread (각 스레드의 스택공간을 설정하라)
-Xss2m
- tweak garbage collection (가비지 콜렉션을 조정하라)
-XX:+UseParallelOldGC
- 그 외 인터넷에서 제시하는 여러 설정
-XX:MaxGCPauseMillis=10 -XX:+UseG1GC -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+CMSIncrementalPacing -XX:+UseFastAccessorMethods -server
- 마지막으로 launcher.XXMaxPermSize와 XX:MaxPermSize 등의 중복 옵션을 제거하라
- RAM디스크에 있는 JDK를 이용하라
- Get your anti-virus outta here
안티바이러스 백신 제품에서 .m2/jar 저장소를 제외하라
- Keep SVN and GIT out of Eclipse
SVN과 GIT은 Ecipse에서 관리지 말고 다른 툴을 이용하라
- Use your keyboard
키보드 단축키를 이용하라
Ctrl+Shift+R : jump to resource Ctrl+Shift+T : jump to class Ctrl+. : jump to next error Ctrl+Shift+G : search for references Ctrl+Shift+P : select matching bracket Alt+Arrows : go forward / backwards Ctrl+Space : autocomplete Ctrl+Shift+F : format source Ctrl+Shift+O : organize imports Ctrl+D : delete line ...
Windows eclipse.ini
-vm N:\jre1.8.0_6\bin -startup plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417 -showlocation ; workspace 경로를 타이틀바에 출력 -Xverify:none ; 유효성검사 생략 -XX:+UseParallelGC ; 병렬처리 -XX:+AggressiveOpts ; 컴파일러 소수점 최적화 기능 활성화 -XX:-UseConcMarkSweepGC ; 이클립스 GUI응답을 빠르게(체감상) -XX:MaxGCPauseMillis=10 -XX:+UseG1GC -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+CMSIncrementalPacing -XX:+UseFastAccessorMethods -server -XX:PermSize=512m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -XX:NewSize=128m -Dosgi.requiredJavaVersion=1.8 ; 본인이 사용하는 자바 버전 -Xms2048m -Xmx2048m -Xmn512m -Xss2m -product org.eclipse.epp.package.php.product -showsplash org.eclipse.platform --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -javaagent:C:\eclipse\plugins\com.zeroturnaround.eclipse.optimizer.plugin_1.0.9/agent/eclipse-optimizer-agent.jar
Mac eclipse.ini
-vm #/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/bin /Volumes/JDKRAMDISK/bin -startup ../Eclipse/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar --launcher.library ../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.300.v20150602-1417 org.eclipse.epp.package.php.product -showlocation ; workspace 경로를 타이틀바에 출력 -Xverify:none ; 유효성검사 생략 -XX:+UseParallelGC ; 병렬처리 -XX:+AggressiveOpts ; 컴파일러 소수점 최적화 기능 활성화 -XX:-UseConcMarkSweepGC ; 이클립스 GUI응답을 빠르게(체감상) -XX:MaxGCPauseMillis=10 -XX:+UseG1GC -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+CMSIncrementalPacing -XX:+UseFastAccessorMethods -server -XX:PermSize=512m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -XX:NewSize=128m -Dosgi.requiredJavaVersion=1.8 ; 본인이 사용하는 자바 버전 -Xms2048m -Xmx2048m -Xmn512m -Xss2m -product org.eclipse.epp.package.php.product -showsplash org.eclipse.platform --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.8 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts