কাঁটাচামচ প্রক্রিয়াগুলির জন্য আপনার বিল্ড.স্কালার দিকে নজর দেওয়া উচিত
কাঁটাচামচ প্রক্রিয়াগুলির জন্য জাভা অপশনগুলি সংশোধন করতে আপনাকে সেগুলি বিল্ড.স্কালায় (বা আপনার বিল্ডটির নাম হিসাবে কিছু দিয়েছেন) এগুলি নির্দিষ্ট করতে হবে:
val buildSettings = Defaults.defaultSettings ++ Seq(
javaOptions += "-Xmx1G",
)
এটি আপনাকে বিশ্বব্যাপী JAVA_OPTS পরিবর্তন না করে যথাযথ বিকল্পগুলি দেবে এবং এটি এসবিটি উত্পাদিত স্টার্ট স্ক্রিপ্টে কাস্টম JAVA_OPTS রাখবে
জন্য অ Forked প্রসেস এটা মাধ্যমে কনফিগ সেট সবচেয়ে সুবিধাজনক sbtoptsবা sbtconfigআপনার SBT সংস্করণের উপর নির্ভর করে।
যেহেতু এসবিটি 0.13.6 হ্রাস .sbtconfigকরা হয়েছে । /usr/local/etc/sbtoptsএই লাইন বরাবর সংশোধন করুন :
-J-Xms512M
-J-Xmx3536M
-J-Xss1M
-J-XX:+CMSClassUnloadingEnabled
-J-XX:+UseConcMarkSweepGC
-J-XX:MaxPermSize=724M
-J-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
আপনি.sbtopts ফাইলটির মতো একই সিনট্যাক্স ব্যবহার করে আপনার এসবিটি প্রকল্পের মূলের মধ্যে একটি ফাইলও তৈরি করতে পারেন/usr/local/etc/sbtopts । এটি প্রকল্পটি স্ব-অন্তর্ভুক্ত করে।
এসবিটি 0.13.6 এর আগে আপনি নন কাঁটাযুক্ত প্রক্রিয়াগুলির জন্য .sbtconfig এ বিকল্পগুলি সেট করতে পারেন :
এসবিটি কোথায় রয়েছে তা পরীক্ষা করুন:
$ which sbt
/usr/local/bin/sbt
বিষয়বস্তু দেখুন:
$ cat /usr/local/bin/sbt
#!/bin/sh
test -f ~/.sbtconfig && . ~/.sbtconfig
exec java ${SBT_OPTS} -jar /usr/local/Cellar/sbt/0.12.1/libexec/sbt-launch.jar "$@"
ওএম প্রতিরোধের জন্য সঠিক জেভিএম বিকল্পগুলি সেট করুন (নিয়মিত এবং পার্মজেন উভয়):
$ cat ~/.sbtconfig
SBT_OPTS="-Xms512M -Xmx3536M -Xss1M
-XX:+CMSClassUnloadingEnabled
-XX:+UseConcMarkSweepGC -XX:MaxPermSize=724M"
আপনি যদি এসবিটি-র বর্তমান চলার জন্য কেবল এসবিT_OPTS সেট করতে চান তবে গুগল env SBT_OPTS=".." sbtশানের পরামর্শ অনুসারে আপনি ব্যবহার করতে পারেন । অথবা আপনি এসবিটি 12: এ যুক্ত বিকল্পটি ব্যবহার করতে পারেন sbt -mem 2048। বিকল্পগুলির দীর্ঘ তালিকাগুলির জন্য এটি অযৌক্তিক হয়ে যায়, তবে আপনার যদি বিভিন্ন প্রয়োজন অনুসারে বিভিন্ন প্রকল্প থাকে তবে এটি সাহায্য করতে পারে।
নোট করুন যে সিএমএসক্লাসঅনলোডিংএনলজড ইউজকনকমার্কসুইপজিসির সাথে কনসার্টে পার্মজেন স্পেসকে পরিষ্কার রাখতে সাহায্য করে, তবে আপনি কোন ফ্রেমওয়ার্ক ব্যবহার করেন তার উপর নির্ভর করে পারমজেনে আপনার প্রকৃত ফাঁস হতে পারে, যা শেষ পর্যন্ত পুনরায় চালু করতে বাধ্য করে।
javaOptions += "-Xmx1G"