2015-09-13 19 views
25

Tôi đang chạy trên Arch Linux, trên CPU lõi i7-5930k 6 và RAM DDR4 64 GB và tôi đang sử dụng IntelliJ IDEA 14.Tại sao IntelliJ IDEA lại treo "Lập chỉ mục"?

IDEA đã hoạt động tốt cho tôi vài ngày trước, nhưng một ngày, đột nhiên, nó bắt đầu treo sau khi mở một dự án, trong giai đoạn "Lập chỉ mục". Tôi không cập nhật IDEA và không có gì thay đổi về dự án của mình. Giao diện người dùng của IDE bị treo sau khi nó mở dự án, chỉ với một mảnh nhỏ của thanh tiến trình để "Lập chỉ mục" hoàn tất. Mỗi 5-10 phút hoặc lâu hơn, nó sẽ không hoạt động và thanh tiến trình thu thập dữ liệu về phía trước một chút, trước khi IDE đóng băng lại trong vài phút nữa. Điều này xảy ra liên tục cho bất cứ nơi nào giữa 15 phút và một giờ, cho đến khi nó cuối cùng đã hoàn thành lập chỉ mục, tại thời điểm đó nó treo cho 5-10 phút không làm gì cả, trước khi nó cuối cùng mở và cho phép tôi phát triển.

Trong khi điều này xảy ra, hệ thống của tôi khá không phản hồi - các tab Firefox mất nhiều thời gian để chuyển đổi và việc di chuyển chúng bị chậm. Việc mở một cửa sổ đầu cuối mới sẽ mất một thời gian dài. Chuyển đổi cửa sổ nói chung mất một lúc. Trong htop, một trong các lõi CPU của tôi được tải ở 100% trong khi phần còn lại có tải bình thường và khoảng 6 GB RAM được sử dụng (tải bình thường khi hệ thống này không hoạt động.)

Những điều tôi đã thử chưa giúp:

  • Xóa thư mục cache
  • Xóa toàn bộ ~/.IntelliJIDEA14 thư mục
  • Cài đặt lại IntelliJ gói
  • Tải IntelliJ bằng tay từ trang web JetBrains' và chạy nó từ thư mục Downloads của tôi (để xem nếu có một cái gì đó sai với th e Arch AUR gói)
  • Configure IntelliJ để sử dụng JVM hệ thống của tôi và Maven nhập khẩu thay vì công cụ nhúng của nó
  • Mở nhiều dự án khác nhau (không chỉ là một trong những ban đầu tôi trải qua những vấn đề trên.)

Vấn đề này thực sự làm tổn thương quy trình làm việc của tôi, nếu bất cứ ai có bất kỳ giải pháp nào cho điều này tôi sẽ rất tuyệt vời.

+0

Có gì khác thay đổi trên máy của bạn không? Mới jvm/jdk? Phụ thuộc mới/lọ trong dự án của bạn?Nó chỉ là một dự án này sẽ không chỉ mục, hoặc tất cả? – vikingsteve

+0

Dự án của bạn có nằm trên hệ thống tệp mạng không? Bạn có thử phiên bản IntelliJ khác không? Có điều gì thú vị trong nhật ký không? (có thể '~/.IntelliJ/system/log') –

+0

@vikingsteve Không có gì khác theo như tôi biết, và như tôi đã nói trong câu hỏi của mình, tôi đã thử các dự án khác nhau. Giống như, nó đã được làm việc, tôi đóng IntelliJ, khởi động lại một thời gian sau đó, và sau đó khi tôi mở IntelliJ một lần nữa sau khi khởi động lại, nó bắt đầu làm điều này. – AppleDash

Trả lời

11

Cuối cùng tôi đã tìm ra. Giải pháp là ... Khá kỳ quặc. TL; DR: Chạy nó dưới strace. Đọc tiếp để có giải thích chi tiết hơn.

Tôi đã đến khi tôi quyết định chạy IntelliJ theo số strace để xem tệp nào được mở để xác định xem đó có phải là nút cổ chai hệ thống hay không.

Điều này đã cho tôi một số kết quả rất lạ: strace đã phun ra một luồng liên tục gần nhau của segfaults. Không chỉ vậy, nhưng IntelliJ đã chạy tốt, không mất mãi mãi để lập chỉ mục.

Sau khi tham khảo ý kiến ​​với một người bạn, tôi đã học được rằng trên Arch Linux, systemd ghi lại kết xuất bộ nhớ của một quá trình mỗi lần xảy ra sự cố, trừ khi trình gỡ lỗi được đính kèm. strace được coi là trình gỡ lỗi. Arch đã đập đĩa của tôi khi nó tiếp tục lưu trữ bộ nhớ đăng nhập do tất cả các segfaults, do đó tại sao việc lập chỉ mục mất quá nhiều thời gian, bởi vì nó đã chiến đấu cho đĩa I/O.

Giải pháp của tôi bây giờ là chỉ cần chạy IntelliJ dưới strace. Tuy nhiên, tôi sẽ xem xét vấn đề hơn nữa, vì tôi không nghĩ rằng java nên được phân đoạn nhiều như vậy.

5

chỉnh sửa Intellij [VERSION] /bin/idea.properties, thiết idea.max.intellisense.filesize=50

update: Intellij sẽ bỏ qua chỉ số tập tin kích thước lớn hơn 50kb.try này nếu bạn có nhiều thư viện hoặc nhiều tác phẩm lớn (quá nhiều ký tự một dòng hoặc quá nhiều dòng)

+2

Trong khi gợi ý của bạn có thể trả lời câu hỏi, nó hoàn toàn không cung cấp bất kỳ gợi ý lý do tại sao nó có thể giải quyết vấn đề. Điều này làm cho câu trả lời (nếu ở tất cả) ít hữu ích cho người khác. Vì vậy, hãy xem xét giải thích về gợi ý của bạn. – rpy

30

Hãy thử Invalidating the cache and restarting IntelliJ.

Trong file menu, chọn làm mất hiệu lực Caches/Restart ... và sau đó nhấp vào hiệu lực và Restart nút .

+6

Điều này làm việc cho tôi nhưng bạn phải nhanh chóng như thể bạn không thể vào menu đủ nhanh, nó sẽ đóng băng lại. – GameSalutes

6

Tôi cũng gặp sự cố này với phiên bản 2016.2 trên Mac OS X. Tôi phải làm một lực lượng thoát để kết thúc ứng dụng, sau đó tôi đã xóa thư mục .idea. Lần sau tôi tung ra IntelliJ mọi thứ đã hoạt động tốt, nó không có vấn đề gì khi lập chỉ mục dự án.

+0

Cuối cùng là một cách đơn giản mà HOÀN TOÀN hoạt động. Không có ý tưởng gì gây ra nó chính xác, sẽ cố gắng loại bỏ các tập tin của thư mục .idea tôi sao lưu sau này, nhìn thấy những gì tập tin đặc biệt gây ra vấn đề này. – LittleTiger

4

Chọn Help -> Settings Log gỡ lỗi ...

Thêm dòng sau (chú ý # biểu tượng hàng đầu)

# com.intellij.util.indexing: dấu vết

Khởi chạy lại IDE (không cần phải làm mất hiệu lực bộ nhớ cache vì nó sẽ làm cho nó bắt đầu từ đầu, trong khi khởi động lại từ điểm hỏng hóc, cho tôi, báo cáo tệp sự cố ngay khi tôi khởi động lại):

Scheduling lập chỉ mục của file: // C: /dev/tools/ruby/lib/ruby/2.2.0/x64-mingw32/win32ole.so theo yêu cầu của Ống index

dự án của chúng tôi doesn' Tôi sử dụng win32ole vì vậy tôi đã chuyển tập tin này sang một vị trí an toàn và khởi động lại IDE ... Bingo, vấn đề biến mất, việc lập chỉ mục cuối cùng đã hoàn thành sau gần 1 năm sử dụng hiệu quả intellij như một trình soạn thảo ruby ​​hơi thông minh hơn.

+0

Nhật ký gỡ lỗi ở đâu ??? -> HELP -> HIỂN THỊ LOG IN FILE MANAGER – Toskan

0

Tôi gặp sự cố tương tự với IntelliJ 2017.3.2. Khi tôi nhấp vào thanh tiến trình lập chỉ mục, tôi nhận thấy nó đã được treo trên một thư mục trong thư mục xây dựng của tôi. Khi tôi đã làm sạch gradlew mà loại bỏ thư mục đó sau đó lập chỉ mục đã có thể tiến hành.

0

Tôi đã gặp phải vấn đề này, và giải quyết nó:

  1. loại bỏ ý tưởng
  2. xóa tất cả các file và dirs mà tên regex 'JetBrain' và 'IntelliJ' trong máy tính của tôi (Mac mini)
  3. sau đó cài đặt ý tưởng

Tôi cũng thử xóa các tệp bộ nhớ cache ý tưởng, nó không hoạt động.

Các vấn đề liên quan