Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -114,32 +114,32 @@ if [ "$AVAILABLE_MEM" -lt 20 ]; then
|
|
| 114 |
exit 1
|
| 115 |
fi
|
| 116 |
|
| 117 |
-
# Calculate heap size (
|
| 118 |
-
HEAP_SIZE=$((AVAILABLE_MEM *
|
| 119 |
-
if [ "$HEAP_SIZE" -lt
|
| 120 |
-
HEAP_SIZE=4
|
| 121 |
-
elif [ "$HEAP_SIZE" -gt 8 ]; then
|
| 122 |
HEAP_SIZE=8
|
|
|
|
|
|
|
| 123 |
fi
|
| 124 |
|
| 125 |
-
# Calculate code cache (
|
| 126 |
-
CODE_CACHE_SIZE=$((HEAP_SIZE /
|
| 127 |
-
if [ "$CODE_CACHE_SIZE" -lt
|
| 128 |
-
CODE_CACHE_SIZE=
|
| 129 |
fi
|
| 130 |
|
| 131 |
echo "Using ${HEAP_SIZE}MB heap, ${CODE_CACHE_SIZE}MB code cache (${AVAILABLE_MEM}MB available)" >&2
|
| 132 |
|
| 133 |
-
# Execute Java with
|
| 134 |
exec java \\
|
| 135 |
-
-
|
| 136 |
-Xmx${HEAP_SIZE}m \\
|
| 137 |
-XX:ReservedCodeCacheSize=${CODE_CACHE_SIZE}m \\
|
| 138 |
-XX:InitialCodeCacheSize=1m \\
|
| 139 |
-XX:+UseSerialGC \\
|
| 140 |
-
-XX:MaxMetaspaceSize=
|
| 141 |
-
-XX:CompressedClassSpaceSize=
|
| 142 |
-
-
|
| 143 |
-XX:-TieredCompilation \\
|
| 144 |
-Djava.awt.headless=true \\
|
| 145 |
"$@"
|
|
@@ -605,8 +605,9 @@ exec java \\
|
|
| 605 |
# Try wrapper first, then fallback to minimal direct execution
|
| 606 |
approaches = [
|
| 607 |
("wrapper", None),
|
| 608 |
-
("minimal", ["-
|
| 609 |
-
("
|
|
|
|
| 610 |
("no_limits", ["-Djava.awt.headless=true"])
|
| 611 |
]
|
| 612 |
|
|
|
|
| 114 |
exit 1
|
| 115 |
fi
|
| 116 |
|
| 117 |
+
# Calculate heap size (15% of available, min 8MB, max 16MB)
|
| 118 |
+
HEAP_SIZE=$((AVAILABLE_MEM * 15 / 100))
|
| 119 |
+
if [ "$HEAP_SIZE" -lt 8 ]; then
|
|
|
|
|
|
|
| 120 |
HEAP_SIZE=8
|
| 121 |
+
elif [ "$HEAP_SIZE" -gt 16 ]; then
|
| 122 |
+
HEAP_SIZE=16
|
| 123 |
fi
|
| 124 |
|
| 125 |
+
# Calculate code cache (smaller)
|
| 126 |
+
CODE_CACHE_SIZE=$((HEAP_SIZE / 4))
|
| 127 |
+
if [ "$CODE_CACHE_SIZE" -lt 4 ]; then
|
| 128 |
+
CODE_CACHE_SIZE=4
|
| 129 |
fi
|
| 130 |
|
| 131 |
echo "Using ${HEAP_SIZE}MB heap, ${CODE_CACHE_SIZE}MB code cache (${AVAILABLE_MEM}MB available)" >&2
|
| 132 |
|
| 133 |
+
# Execute Java with proper stack size and memory limits
|
| 134 |
exec java \\
|
| 135 |
+
-Xms2m \\
|
| 136 |
-Xmx${HEAP_SIZE}m \\
|
| 137 |
-XX:ReservedCodeCacheSize=${CODE_CACHE_SIZE}m \\
|
| 138 |
-XX:InitialCodeCacheSize=1m \\
|
| 139 |
-XX:+UseSerialGC \\
|
| 140 |
+
-XX:MaxMetaspaceSize=16m \\
|
| 141 |
+
-XX:CompressedClassSpaceSize=8m \\
|
| 142 |
+
-Xss256k \\
|
| 143 |
-XX:-TieredCompilation \\
|
| 144 |
-Djava.awt.headless=true \\
|
| 145 |
"$@"
|
|
|
|
| 605 |
# Try wrapper first, then fallback to minimal direct execution
|
| 606 |
approaches = [
|
| 607 |
("wrapper", None),
|
| 608 |
+
("minimal", ["-Xms2m", "-Xmx16m", "-Xss256k", "-Djava.awt.headless=true"]),
|
| 609 |
+
("basic", ["-Xms2m", "-Xmx12m", "-Djava.awt.headless=true"]),
|
| 610 |
+
("simple", ["-Xmx8m", "-Djava.awt.headless=true"]),
|
| 611 |
("no_limits", ["-Djava.awt.headless=true"])
|
| 612 |
]
|
| 613 |
|