Khắc phục lỗi sập máy chủ 'Language Support for Java' trong VS Code

intermediate💻 VS Code2026-05-29| Visual Studio Code, tiện ích Language Support for Java(TM) của Red Hat, JDK 11/17/21, Windows, macOS, Linux.

Error Message

The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted.
#java#vscode#jdtls#khắc phục lỗi#ide

Khi Java IntelliSense ngừng hoạt độngHiếm có điều gì làm gián đoạn một buổi lập trình hiệu quả nhanh hơn việc IDE bị mất đi "bộ não". Bạn đang thực hiện tái cấu trúc mã (refactor), và đột nhiên, các đường gạch chân đỏ biến mất, tính năng tự động hoàn tất (autocomplete) ngừng phản hồi, và một thông báo dai dẳng xuất hiện ở góc dưới bên phải:

The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted.

Lỗi này có nghĩa là công cụ Eclipse JDT.LS—phần backend vận hành tiện ích này—đã gặp phải một lỗi nghiêm trọng. Nếu không có nó, VS Code chỉ đơn thuần là một trình soạn thảo văn bản cơ bản. Để khắc phục, chúng ta cần tìm hiểu kỹ hơn thay vì chỉ nhìn vào thông báo bật lên và giải quyết các vấn đề cấu hình hoặc bộ nhớ đệm bên dưới.

Bước 1: Kiểm tra Log thay vì phỏng đoánTrước khi thay đổi các thiết lập, hãy tìm hiểu chính xác lý do tại sao máy chủ ngừng hoạt động. Các tệp nhật ký (logs) thường cho biết bạn đang gặp phải vấn đề rò rỉ bộ nhớ hay không tương thích phiên bản.

  • Mở bảng Output trong VS Code (View > Output).- Chọn Language Support for Java từ menu thả xuống ở bên phải.- Tìm kiếm các stack trace. Các lỗi cụ thể như java.lang.OutOfMemoryError hoặc UnsupportedClassVersionError sẽ cho bạn biết chính xác giải pháp nào cần ưu tiên.## Giải pháp 1: Dọn dẹp Workspace của Language ServerTiện ích này duy trì một chỉ mục (index) của dự án để tăng tốc độ xử lý. Nếu chỉ mục này bị hỏng—có thể do hệ thống tắt đột ngột—máy chủ sẽ bị sập mỗi khi cố gắng đọc các tệp bị lỗi đó. Đây là cách khắc phục phổ biến nhất.
  • Nhấn Ctrl+Shift+P (hoặc Cmd+Shift+P trên macOS).- Tìm kiếm "Java: Clean Java Language Server Workspace".- Nhấp vào Restart and Delete khi được hỏi.VS Code sẽ xóa bộ nhớ đệm nội bộ và đánh chỉ mục lại các tệp của bạn. Đối với các dự án vừa và nhỏ, việc này thường mất chưa đầy 30 giây và khắc phục được phần lớn các lỗi sập máy chủ liên tục.

Giải pháp 2: Đồng bộ phiên bản JDK chạy tiện íchMột sự nhầm lẫn thường gặp ở đây: JDK bạn sử dụng để build dự án khác với JDK được sử dụng để chạy tiện ích VS Code. Kể từ phiên bản 1.0.0, tiện ích của Red Hat yêu cầu JDK 17 trở lên để hoạt động. Nếu bạn cố gắng chạy công cụ này trên JDK 11, nó sẽ bị sập ngay lập tức.

Kiểm tra tệp settings.json của bạn để đảm bảo java.jdt.ls.java.home trỏ đến một runtime hiện đại:

{
  "java.jdt.ls.java.home": "/usr/lib/jvm/java-17-openjdk",
  "java.configuration.runtimes": [
    {
      "name": "JavaSE-1.8",
      "path": "/duong/dan/den/old-jdk-8",
      "default": true
    }
  ]
}

Với thiết lập này, dự án của bạn vẫn biên dịch bằng Java 8, nhưng các công cụ của IDE vẫn hoạt động ổn định trên Java 17.

Giải pháp 3: Cấp thêm bộ nhớ cho máy chủNếu bạn đang làm việc trên một dự án Maven đa mô-đun khổng lồ (khoảng hơn 50 mô-đun hoặc hàng nghìn lớp), mức bộ nhớ mặc định 1GB là không đủ. Khi máy chủ đạt đến giới hạn, nó sẽ kích hoạt lỗi OutOfMemoryError và ngừng hoạt động.

  • Mở Cài đặt (Ctrl+,) và tìm kiếm java.jdt.ls.vmargs.- Tìm tham số -Xmx.- Tăng giá trị lên -Xmx2G hoặc -Xmx4G.Một thiết lập hiệu suất cao điển hình sẽ như sau:
"java.jdt.ls.vmargs": "-XX:+UseG1GC -XX:+UseStringDeduplication -Xmx2G -Xms1G"

Giải pháp 4: Xóa bộ nhớ đệm thủ côngĐôi khi lệnh "Clean Workspace" không thể thực hiện được vì tiện ích đã bị hỏng nặng đến mức không thể phản hồi. Trong trường hợp này, bạn phải xóa thư mục lưu trữ thủ công khi VS Code đã đóng.

Hãy truy cập các đường dẫn sau và xóa thư mục workspaceStorage:

  • Windows: %APPDATA%\Code\User\workspaceStorage- macOS: ~/Library/Application Support/Code/User/workspaceStorage- Linux: ~/.config/Code/User/workspaceStorageĐừng lo lắng về việc mất mã nguồn; thư mục này chỉ chứa các chỉ mục tạm thời và siêu dữ liệu. VS Code sẽ tự động xây dựng lại mọi thứ vào lần tới khi bạn mở dự án.

Xác nhận khắc phục thành côngSau khi khởi động lại, hãy quan sát thanh trạng thái. Bạn sẽ thấy một biểu tượng tiến trình hiển thị "Opening Java projects" kèm theo thông báo "Ready". Để chắc chắn, hãy thử nhấn F12 tại một phương thức—nếu nó nhảy đến định nghĩa ngay lập tức, mọi thứ đã hoạt động trở lại. Nếu máy chủ vẫn hoạt động sau 10 phút chỉnh sửa liên tục, vấn đề đã được giải quyết.

Mẹo để duy trì sự ổn địnhĐể tránh gặp lại lỗi này, hãy luôn cập nhật các tiện ích mở rộng. Red Hat phát hành các bản vá ổn định hàng tháng. Ngoài ra, hãy sử dụng một công cụ như SDKMAN! để quản lý các JDK; nó giúp việc chuyển đổi giữa JDK 17 (cần thiết cho công cụ) và các phiên bản cũ hơn (yêu cầu bởi các dự án cũ) trở nên đơn giản hơn nhiều.

Related Error Notes