Làm thế nào bạn có thể làm cho trải nghiệm với Eclipse nhanh hơn?
Ví dụ: Tôi vô hiệu hóa tất cả các plugin tôi không cần (Mylyn, Subclipse, khắc).
Thay vì sử dụng plugin cho Mercurial , tôi định cấu hình TortoiseHG như một công cụ bên ngoài.
Làm thế nào bạn có thể làm cho trải nghiệm với Eclipse nhanh hơn?
Ví dụ: Tôi vô hiệu hóa tất cả các plugin tôi không cần (Mylyn, Subclipse, khắc).
Thay vì sử dụng plugin cho Mercurial , tôi định cấu hình TortoiseHG như một công cụ bên ngoài.
Câu trả lời:
Ba yếu tố ảnh hưởng nhất đến tốc độ Eclipse là:
Không gian làm việc "tương tự" trong Indigo (3.7.2) SR2 tải trong 4 giây, trong Kepler SR2 (4.3.2) trong 7 giây và trong Luna (4.4.0) trong 10 giây. Tất cả đều là các gói Java EE. Các phiên bản mới hơn có nhiều plugin được đóng gói hơn, nhưng vẫn là xu hướng rõ ràng. (theo không gian làm việc "giống nhau", ý tôi là: các plugin tương tự (được cài đặt bổ sung) được sử dụng, các dự án tương tự được kiểm tra từ kiểm soát phiên bản).
Khởi chạy nó với JDK mới nhất (Java 14 tại thời điểm viết, điều này không ngăn bạn biên dịch trong dự án Eclipse của bạn với bất kỳ JDK nào khác mà bạn muốn: 1.4.2, 1.5, 1.6 cũ hơn ...)
-vm jdk1.6.0_10\jre\bin\client\jvm.dll
Định cấu hình eclipse.ini (xem câu hỏi này để biết eclipse.ini hoàn chỉnh )
-Xms512m
-Xmx4096m
[...]
Đối Xmx
số là dung lượng bộ nhớ mà Eclipse sẽ nhận được (theo thuật ngữ đơn giản). Với -Xmx4096m
, nó có 4 GB RAM, v.v.
Ghi chú:
Nhắc đến jvm.dll có những ưu điểm:
libjava.so
: Trên Linux, libjava.so
tùy thuộc vào libjvm.so
, nhưng điều ngược lại là không đúng $ readelf -d libjava.so
Dynamic segment at offset 0x208a8 contains 25 entries:
Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libjvm.so] [...]
:: Khi thư viện chứa thông tin đó, ld.so
sẽ libjvm.so
tự động tải khi quá trình tải libjava.so
.
Thêm vào tập tin eclipse.ini-Xverify:none
của bạn .
Nó sẽ cắt giảm đáng kể thời gian khởi động Eclipse của bạn (50% trong trường hợp của tôi nếu không hơn). Điều này sẽ báo cho VM không xác thực tất cả các tệp. Class mà nó đang tải.
Xem xét điều này: Không bao giờ vô hiệu hóa xác minh mã byte trong hệ thống sản xuất (như đã đề cập trong các nhận xét)
Truy cập Windows -> Tùy chọn -> Xác thực và bỏ chọn bất kỳ thứ gì validators
bạn không muốn hoặc không cần.
Đối với Eclipse 3.7, bạn sử dụng Windows -> Tùy chọn -> Chung -> Khởi động và Tắt máy .
Hãy chắc chắn rằng bạn đang sử dụng Sun JVM để chạy Eclipse.
Trên Linux, đặc biệt là Ubuntu, Eclipse được cài đặt theo mặc định để sử dụng GCJ nguồn mở, có hiệu năng kém hơn nhiều. Sử dụng update-alternatives --config java
để chuyển sang Sun JVM để cải thiện đáng kể tính nhanh nhẹn của UI trong Eclipse.
java -version
nên nói như thế nào openjdk version "1.8.0_131"
). Tôi thấy rằng OpenJDK 9 gây ra hiệu năng kém hơn (độ trễ cao hơn) cho nhiều tác vụ.
Đóng bất kỳ dự án mở nào không được sử dụng hiện tại.
Cố gắng tắt chế độ xuất bản tự động trong quá trình phát triển.
Cảm ơn những gợi ý. Các tùy chọn này (đã đề cập ở trên) đã giúp tôi rất nhiều:
Các cửa sổ:
Tăng bộ nhớ & liên quan đến phiên bản Java được cập nhật của tôi trong eclipse.ini:
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
-Xverify:none
Ngoài ra, vì chúng tôi đang tối ưu hóa tốc độ, việc đặt -Xms
thành cùng một giá trị như -Xmx
làm cho JVM bắt đầu với dung lượng bộ nhớ tối đa được phép sử dụng.
Linux / Ubuntu:
Sử dụng
update-alternatives --config java
-XmX
) phụ thuộc vào bộ nhớ hệ thống của bạn. Khi tôi đặt câu hỏi, 512m là giá trị được tối ưu hóa cho netbook WinXP cũ của tôi. Đọc thêm tại đây: stackoverflow.com/questions/4304312/
Có thể tăng hiệu suất khác bằng cách vô hiệu hóa trang trí nhãn ( Windows -> Preferences; General -> Appearance -> Label Decorations
) và bằng cách vô hiệu hóa các khả năng không sử dụng khi khởi động ( Windows -> Preferences; General -> Startup and Shutdown
).
Bạn cũng có thể có được hiệu năng bổ sung bằng cách chọn một chiến lược thu gom rác khác nhau tùy thuộc vào JVM của bạn.
Nếu bạn đã chán ngấy với các chu kỳ khởi động lại, bạn có thể sử dụng JavaRebel từ ZeroTurnaround. Điều đó sẽ rút ngắn thời gian của bạn dành cho khởi động lại máy chủ / máy khách.
Mặc dù không liên quan trực tiếp đến Eclipse:
Nếu bạn đang chạy Windows 7 (và có lẽ là Windows Vista), hãy chắc chắn tắt tính năng lập chỉ mục tệp của thư mục không gian làm việc của bạn nếu công cụ của bạn ở vị trí mặc định - thư mục nhà của bạn. Windows theo mặc định lập chỉ mục mọi thứ trong thư mục nhà của bạn và thông thường nó chỉ là một sự lãng phí cho không gian làm việc của bạn. (Nhấp chuột phải vào thư mục không gian làm việc trong explorer, Thuộc tính -> Nâng cao .)
Eclipse tải các trình cắm một cách lười biếng và các trình cắm phổ biến nhất, như Subclipse , không làm gì nếu bạn không sử dụng chúng. Chúng không làm chậm Eclipse trong suốt thời gian chạy và nó sẽ không giúp bạn vô hiệu hóa chúng. Trong thực tế, Mylyn đã được hiển thị để giảm dung lượng bộ nhớ của Eclipse khi được sử dụng đúng cách.
Tôi chạy Eclipse với hàng tấn trình cắm mà không có bất kỳ hình phạt hiệu năng nào cả.
Đó không chỉ là bộ nhớ mà bạn cần tăng với công tắc -Xmx, mà còn là kích thước gen perm . Tôi nghĩ vấn đề đó đã được giải quyết trong Eclipse 3.4.
Có một điều khác thực sự tăng tốc Eclipse trên cả Windows và đặc biệt là Linux - đưa JVM vào đĩa RAM.
Đối với Windows, bạn có thể sử dụng trình điều khiển đĩa RAM thương mại từ Qsoft .
Đối với Linux, sử dụng bất kỳ phương pháp nào được mô tả trong nhiều bài viết trên Internet. Điều quan trọng là cung cấp thêm không gian cho đĩa RAM lớn hơn 10% so với kích thước của JVM.
Kiểm tra nó ra. Nó thật sự làm nên sự khác biệt.
grep -r
hoặc có thể sử dụng vmtouch
để tải các trang vào bộ đệm fs?
Tôi cung cấp cho nó rất nhiều bộ nhớ (thêm một -Xmx
công tắc vào lệnh khởi động nó) và cố gắng tránh thoát và khởi động lại nó - Tôi thấy sự chậm trễ tồi tệ nhất là khi khởi động, vì vậy, cho nó nhiều RAM cho phép tôi tiếp tục lâu hơn trước khi nó gặp sự cố ngoài.
Cùng với phần mềm mới nhất (Eclipse và Java mới nhất) và nhiều RAM hơn, bạn có thể cần phải
Tôi cũng điều chỉnh vmargs và công cụ. Nhưng điều thực sự thúc đẩy Eclipse trên Windows là cấu hình "phù hợp" của phần mềm chống vi-rút. Bạn phải vô hiệu hóa việc quét theo yêu cầu của các tệp được đóng gói. các tệp jar và nhiều tệp liên quan đến java được đóng gói với thuật toán PKZIP để có không gian trống. Vì Eclipse sử dụng hàng tấn tệp java, nên một trình chống vi-rút cố gắng giải nén riêng lẻ và quét từng tệp một. Vì vậy, đối với nền tảng Windows: tắt chức năng quét các tệp được đóng gói theo yêu cầu, nếu không Eclipse sẽ chậm một cách bất thường. Xin lưu ý rằng việc vô hiệu hóa điều này không may làm cho hệ thống của bạn yếu hơn trước các cuộc tấn công, hầu hết các trình đóng gói sử dụng phần mềm độc hại.
Tôi đã triển khai một trình cắm để định cấu hình các tính năng sẽ được tải trong thời gian chạy để cải thiện hiệu suất và giảm xung đột giữa các trình cắm khác nhau.
Bạn có thể đã cài đặt nhiều tính năng vào Eclipse của mình, chẳng hạn như các công cụ phát triển Android, các công cụ phát triển C / C ++, các trình cắm thêm PHP , SVN , Git và ClearCase . Do đó Eclipse rất nặng và tốn rất nhiều bộ nhớ và một số trong số chúng không thường được sử dụng.
Vì vậy, bạn có thể sử dụng công cụ của tôi để tạo các chính sách thời gian chạy khác nhau, chẳng hạn như một chính sách có Android, Git và Eclipse cơ sở, một chính sách khác chứa C / C ++, SVN và Eclipse cơ sở. Lần tới Eclipse sẽ chỉ tải các tính năng được chỉ định nếu bạn đang sử dụng chính sách chỉ có Android và Git.
Bạn được chào đón để thử nó và cho tôi thông tin phản hồi. :)
Tên của công cụ đó là Equinox Advanced Configurator .
Không được đánh giá thấp là có một máy nhanh. 16-32 GB RAM, SSD và bộ xử lý tốt ... và bạn sẽ đến đó.
Các thực tiễn tốt nhất trong luồng này được triển khai trong Trình tối ưu hóa miễn phí cho Eclipse , từ ZeroTurnaround .
Nó giúp gì với?
Để biết thêm chi tiết, hãy xem bài viết này từ RebelLabs .
Hãy nỗ lực để cấu hình đường dẫn xây dựng của bạn. Mã hoàn thành sử dụng rất nhiều bộ nhớ nếu nó phải đi qua toàn bộ thư mục dự án của bạn.
Tôi đã trải nghiệm một sự cải thiện đáng kể về hiệu suất khi giới hạn số lượng tab đang mở (trước đây tôi thường xuyên có hơn 30 tab mở). Bạn có thể để Eclipse tự động xử lý việc này cho bạn:
Window -> Preferences -> Biên tập -> biên tập tự động đóng lại
8 tab đang mở là số tiền trước khi dấu >> xuất hiện, vì vậy tôi có xu hướng để nó ở mức 8.
Khi mở thêm các tab, những tab ít truy cập gần đây nhất sẽ bị đóng.
-> Khi tất cả các trình soạn thảo bị bẩn hoặc bị ghim
Nếu nó có các sửa đổi chưa được lưu, bạn có thể nhắc lưu và sử dụng lại (tab sẽ bị đóng, một cái mới sẽ được mở ở vị trí của nó). Hoặc bạn có thể mở một trình soạn thảo mới, do đó sẽ tăng số lượng tab đang mở (sự lựa chọn không phô trương).
Nếu bạn muốn đảm bảo một số tab không bao giờ bị đóng tự động, bạn có thể ghim chúng. Điều này bằng cách nhấp vào biểu tượng pin (biểu tượng ngoài cùng bên phải trên thanh công cụ, với "trình chỉnh sửa pin" là tooltiptext).
Hãy thử điều này quá, nó sẽ cải thiện hiệu suất:
làm sạch các chỉ mục - {đường dẫn không gian làm việc} .metadata.plugins \ org.eclipse.jdt.core làm sạch lịch sử - {đường dẫn không gian làm việc} .metadata.plugins \ org.eclipse.core.resource.history
Làm sạch các thư mục trên sẽ không ảnh hưởng đến các tập tin dự án.
**Tips for making Eclipse IDE Faster**
Eclipse sẽ chạy nhanh hơn khi làm việc với các dự án nhỏ. Nhưng khi bạn phải làm việc với dự án lớn, bạn sẽ bị kích thích với tốc độ của nó. Ngay cả với bộ nhớ RAM khổng lồ, bạn sẽ không hài lòng với tốc độ của nó. Các bước nhỏ sẽ giúp nhật thực tăng tốc độ của nó
Xóa kích hoạt không mong muốn của một số plugin khi khởi động bằng cách vào windows Windows> ưu tiên Cấm> Tổng quát> Khởi động và tắt máy cũng đảm bảo bạn không sử dụng các plugin đó trong bất kỳ chế độ xem nào của mình
Vô hiệu hóa trang trí nhãn ít sử dụng cho bạn, cũng sẽ giúp bạn đạt được một số hiệu suất. Tới Windows-> Preference-> General-> Appearance-> Label -> Trang trí
Đóng các dự án không mong muốn và sử dụng tùy chọn tập làm việc để chuyển từ nhóm dự án này sang nhóm dự án khác một cách suôn sẻ.
Định cấu hình eclipse.ini sẽ có sẵn ở vị trí cài đặt nhật thực.
Configuring eclipse.ini should be based on your RAM
-Xms256m
-Xmx512m
-XX:PermSize=512m
-XX:MaxPermSize=512M
Ngoài ra, hãy xem http://wiki.eclipse.org/Eclipse.ini để biết thêm các tùy chọn để định cấu hình eclipse.ini.
Không giữ nhiều tab được mở trong trình chỉnh sửa. Tốt hơn để có khoảng 20 tab. Thường xuyên đóng các tab không sử dụng. Để mở tài nguyên, chúng tôi luôn có thể sử dụng ctrl + shift + R và ctrl + shift + T (tài nguyên java) thay vì mở nhiều tab tôi đã trải qua một sự cải thiện đáng kể về hiệu suất khi giới hạn số lượng tab mở (Trước đây tôi thường có 30 + tab mở). Bạn có thể để nhật thực tự động xử lý việc này cho bạn: Window-> Preferences-> Editors-> closetrình chỉnh sửa tự động 8 tab đang mở là số tiền trước khi dấu >> xuất hiện, vì vậy tôi đặt 14 làm giá trị mặc định. Khi mở thêm các tab, những tab ít truy cập gần đây nhất sẽ bị đóng. Khi tất cả các biên tập viên bị bẩn hoặc ghim. Nếu nó có các sửa đổi chưa được lưu, bạn có thể nhắc lưu và sử dụng lại (tab sẽ bị đóng, một cái mới sẽ được mở ở vị trí của nó). Hoặc bạn có thể mở một trình soạn thảo mới, do đó sẽ tăng số lượng tab đang mở (sự lựa chọn không phô trương). Nếu bạn muốn đảm bảo một số tab không bao giờ bị đóng tự động, bạn có thể ghim chúng. Điều này bằng cách nhấp vào biểu tượng ghim (biểu tượng ngoài cùng bên phải trên thanh công cụ, với trình chỉnh sửa pin Ghim là công cụ).
Truy cập Windows -> Tùy chọn -> Xác thực và bỏ chọn bất kỳ trình xác nhận nào bạn không muốn hoặc không cần.
Chuyển đến Windows -> Tùy chọn -> Chung -> Giao diện -> và bỏ chọn bất kỳ hoạt hình nào bạn không muốn hoặc không cần.
Truy cập Windows -> Tùy chọn -> Maven và kiểm tra 'không tự động cập nhật phụ thuộc' .
Chà, nếu bạn đang phát triển một ứng dụng GWT bằng Eclipse, thì đây là cách:
Cũng nhớ thêm các đối số VM tương tự vào cấu hình chế độ lưu trữ.
Nếu bạn sử dụng Maven và ivy, hãy kiểm tra bảng điều khiển của họ trong trường hợp họ đang xử lý quá trình trong quá trình xây dựng. Tôi sử dụng cây thường xuân và trên hết tôi có một số tệp JAR (nội bộ) thay đổi với cùng một phiên bản, vì vậy nó phải tập luyện mọi lúc để lấy chúng.
Nếu bạn đã xác định dự án của bạn trên một ổ đĩa mạng thì bạn cũng sẽ gặp độ trễ trong quá trình xây dựng / đọc / ghi loại quy trình.
Vô hiệu hóa / gỡ cài đặt plugin bạn không cần.
Phối cảnh chặt chẽ mà bạn không cần
Đóng kết nối cơ sở dữ liệu không sử dụng
Trong trường hợp đặc biệt, hiệu suất kém có thể là do cơ sở dữ liệu h2 hoặc nwire bị hỏng. Đọc Năm mẹo để tăng tốc PDT Eclipse và nWire để biết thêm thông tin.
Nơi tôi làm việc, chúng tôi phụ thuộc vào VM để chạy Debian . Tôi đã cài đặt một phiên bản Eclipse khác trên VM để thử nghiệm các máy tính, nhưng điều này đôi khi tạo ra xung đột nếu tôi có phiên bản Eclipse khác đang chạy. Có một thư mục dùng chung mà cả hai phiên bản Eclipse đều chia sẻ. Tôi đã vô tình để cài đặt Debian Eclipse chạy trong nền một lần và điều đó đã cho tôi các tệp cơ sở dữ liệu bị hỏng.
Ngoài việc cấu hình eclipse.ini để sử dụng bộ nhớ. Tôi đã cấu hình bằng "Tùy chọn khởi động và tắt máy". Nhật thực của tôi đang bùng cháy rất nhanh.
Cách thực sự duy nhất để đẩy nhanh Eclipse với các trình cắm thêm tiêu chuẩn là cung cấp cho nó nhiều bộ nhớ hơn và trong một số trường hợp truy cập vào một không gian lưu trữ / ổ cứng phân mảnh nhanh hơn.
Ngoài ra, không có nhiều thứ bạn có thể thực hiện theo hiệu năng: hầu hết các plugin tiêu chuẩn không có chi phí thời gian chạy liên tục, thậm chí Mylyn cũng tương đối nhanh.
Nâng cấp lên JVM mới nhất được hỗ trợ trên máy của bạn cũng có thể giúp ích.
Một số người hạ cấp xuống các phiên bản Eclipse cũ hơn để có hiệu năng tốt hơn. Nó cũng có thể có ý nghĩa khi sử dụng Eclipse cổ điển thay vì các bản phát hành chính thức.
Thử những thứ này xem. Có hai cách.
Thủ tục đầu tiên
Tham khảo bài viết này.
http://www.javacodegeek.com/2014/06/the-real-way-to-make-eclipse-run-faster-on-ub Ubuntu.html
Thủ tục thứ hai.
Thực hiện lệnh trong thiết bị đầu cuối.
ramdisk
để có hiệu suất tốt hơn và phản hồi nhanh cho Ubuntu.
Ramdisk là một phần của bộ nhớ hệ thống. Ubuntu theo mặc định sử dụng một nửa bộ nhớ vật lý (RAM) dưới dạng ramdisk và được gắn vào
/ dev / shm
, nó có thể được sử dụng giống như không gian đĩa bình thường (tạo tệp và thư mục và thao tác với hiệu suất tốt hơn thay vì chúng được lưu trữ trên đĩa cứng). Nếu ramdisk sử dụng hơn một nửa RAM, dữ liệu sẽ được chuyển vào không gian trao đổi. Nếu ramdisk sử dụng ít hơn, phần còn lại vẫn có thể làm những gì RAM đang làm.
Đặt giới hạn trên của ramdisk
Như đã nói ở trên, ramdisk theo mặc định có thể sử dụng một nửa RAM. Nếu bạn muốn thay đổi giới hạn trên, hãy làm theo các bước dưới đây:
Chỉnh sửa / etc / fstab bởi trình chỉnh sửa favourate của bạn:
gksudo gedit / etc / fstab
Tìm dòng này và thay đổi để làm cho nó trông như thế này (thêm dòng này nếu không tồn tại và thay đổi 512M thành những gì bạn thích.):
tmpfs / dev / shm tmpfs mặc định, kích thước = 512M 0 0
Khởi động lại hoặc gắn lại
/ dev / shm
Gắn kết / tmp lên ramdisk
Để dễ sử dụng, bạn có thể gắn một thư mục vào
/dev/shm
bằng các lệnh sau:
mkdir / dev / shm / tmp
chmod 1777 / dev / shm / tmp
gắn kết --bind / dev / shm / tmp / tmp