2013-07-29 27 views
5

Tôi đang cố gắng đặt kích thước heap javac cho java vm vĩnh viễn. Tôi đã đặt số JAVA_OPTS thành -Xmx64m hoạt động tuyệt vời khi tôi gọi java nhưng không phải là javac. Tôi vẫn gặp vấn đề về kích thước đống. Có một biến khác nhau tôi có thể đặt trong .bashrc của tôi để thay đổi là vĩnh viễn?javac đặt kích thước heap mặc định cho java vĩnh viễn

Khi tôi chạy javac -J-Xmx64m, nó hoạt động rất tốt. Vì vậy, tôi chỉ cần một cách để làm cho tùy chọn đó -J-Xmx64m vĩnh viễn.

FYI - Tôi đang chạy Ubuntu 11.10 với OpenJDK 1,7

+4

Tôi tin rằng bạn có thể tìm thấy giải pháp của bạn ở đây ... http://stackoverflow.com/questions/104115/how -do-you-tăng-the-maximum-heap-size-cho-the-javac-process-in-borland-jbuil –

+0

Đặt JAVA_TOOL_OPTIONS như đã đề cập trong liên kết đó đã thực hiện công việc. Tôi quản lý để làm cho nó ít nhất là nhận ra rằng tùy chọn đã được thiết lập. Nhưng bây giờ đột nhiên tôi vẫn nhận được các vấn đề heap mặc dù nó đã làm việc khi tôi thiết lập nó trước đó. –

Trả lời

2

Nếu bạn đang sử dụng Ubuntu và OpenJDK 7, mặc định cho một quá trình 64-bit nên được 1/4 của bộ nhớ chính. Trừ khi bạn có một bộ nhớ nhỏ hơn 256 MB, mặc định sẽ là 64MB hơn nữa.

tôi đề nghị bạn

  • có JVM 64-bit mà giá trị mặc định đến một kích thước lớn hơn.
  • có nhiều bộ nhớ, lý tưởng là 16-64 GB cho một máy mới.
+0

Tôi không thể làm điều đó. Tôi đang ở mức rất thấp VPS 220mb RAM. Tôi nhận ra rằng tôi đang đẩy ranh giới. Nhưng tôi hy vọng tôi có thể làm cho nó ít nhất là chạy. Nó sẽ không làm bất kỳ công việc nặng nhọc nào. –

+1

@ChrisKdon Bạn có thể biên dịch mã ở mọi nơi, ngay cả trên PC. (Đây là một tính năng chính của Java) –

+2

Đó là một điểm tốt. Tôi đã hy vọng có thể làm tất cả trên một máy. Nhưng tôi có thể đi với tùy chọn đó. Cuối cùng nó sẽ được sử dụng với Grails mà tôi nghĩ sẽ cần trình biên dịch javac vì trong chế độ phát triển nó biên dịch lại các tập tin trên bay. –

4

giải pháp Rất thực dụng (giả sử bạn sử dụng bash):

# find out where javac lives, and note the path 
$ which javac 
/path/to/javac 
$ vi ~/.bash_aliases 
alias javac='/path/to/javac -J-Xmx64m' 
+0

cách 'bout một chút'. ~/.bash_aliases'? :) –

+0

hoặc là cần thiết? –