«   2018/07   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Archives
Today
515
Total
1,123,684
안정적인 DNS서비스 DNSEver
관리 메뉴

Blue Breeze

이클립스 속도 올리기 본문

Editor IDE/Eclipse

이클립스 속도 올리기

푸른바람 C/H 2015.11.26 08:30

eclipse



  1. Always run the latest JDK and Eclipse.

    64bit 최신버전 Java를 사용하라

  2. 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로 사용하라

  3. 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 유저

      1. 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
        

      2. 디바이스 정보에 JDKRAMDISK 생성 확인
      자동화 및 launchtl Deamon사용하기
    • 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) 체크 설정

  4. 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 등의 중복 옵션을 제거하라
  5. Get your anti-virus outta here

    안티바이러스 백신 제품에서 .m2/jar 저장소를 제외하라

  6. Keep SVN and GIT out of Eclipse

    SVN과 GIT은 Ecipse에서 관리지 말고 다른 툴을 이용하라

  7. 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


0 Comments
댓글쓰기 폼