Skip to content

Commit 1b637fd

Browse files
authored
fix(doc): update x86 java start params (#6478)
* fix(doc): update x86 java start params
1 parent 35b1c4f commit 1b637fd

File tree

3 files changed

+24
-29
lines changed

3 files changed

+24
-29
lines changed

README.md

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Make sure you operate on `Linux` or `MacOS` operating systems, other operating s
6767
## Architecture
6868

6969
### x86_64
70-
64-bit version of `Oracle JDK 1.8` to be installed, other JDK versions are not supported yet.
70+
64-bit version of `Oracle JDK 8` to be installed, other JDK versions are not supported yet.
7171

7272
### ARM64
7373
64-bit version of `JDK 17` to be installed, other JDK versions are not supported yet.
@@ -98,7 +98,7 @@ Make sure you operate on `Linux` or `MacOS` operating systems, other operating s
9898
## Architecture
9999

100100
### X86_64
101-
Requires 64-bit version of `Oracle JDK 1.8` to be installed, other JDK versions are not supported yet.
101+
Requires 64-bit version of `Oracle JDK 8` to be installed, other JDK versions are not supported yet.
102102

103103
### ARM64
104104
Requires 64-bit version of `JDK 17` to be installed, other JDK versions are not supported yet.
@@ -109,38 +109,32 @@ Get the mainnet configuration file: [config.conf](framework/src/main/resources/c
109109

110110
## Hardware Requirements
111111

112-
Minimum:
113-
114-
- CPU with 8 cores
115-
- 16GB RAM
116-
- 3TB free storage space to sync the Mainnet
117-
118-
Recommended:
119-
120-
- CPU with 16+ cores(32+ cores for a super representative)
121-
- 32GB+ RAM(64GB+ for a super representative)
122-
- High Performance SSD with at least 4TB free space
123-
- 100+ MB/s download Internet service
112+
| Deployment Tier | CPU Cores | Memory | High-performance SSD Storage | Network Downstream |
113+
|-----------------|-----------|--------|----------------------------------|--------------------|
114+
| FullNode (Minimum) | 8 | 16 GB | 200 GB ([Lite](https://tronprotocol.github.io/documentation-en/using_javatron/litefullnode/#lite-fullnode)) | ≥ 5 MB/s |
115+
| FullNode (Stable) | 8 | 32 GB | 200 GB ([Lite](https://tronprotocol.github.io/documentation-en/using_javatron/litefullnode/#lite-fullnode))<br>3.5 TB (Full Sync) | ≥ 5 MB/s |
116+
| FullNode (Recommended) | 16+ | 32 GB+ | 4 TB | ≥ 50 MB/s |
117+
| Super Representative | 32+ | 64 GB+ | 4 TB | ≥ 50 MB/s |
124118

125119
## Running a full node for mainnet
126120

127121
Full node has full historical data, it is the entry point into the TRON network, it can be used by other processes as a gateway into the TRON network via HTTP and GRPC endpoints. You can interact with the TRON network through full node:transfer assets, deploy contracts, interact with contracts and so on. `-c` parameter specifies a configuration file to run a full node:
128122

129-
### x86_64 JDK 1.8
123+
### x86_64 (JDK 8)
130124
```bash
131-
$ nohup java -Xms9G -Xmx9G -XX:ReservedCodeCacheSize=256m \
125+
$ nohup java -Xms9G -Xmx12G -XX:ReservedCodeCacheSize=256m \
132126
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
133127
-XX:MaxDirectMemorySize=1G -XX:+PrintGCDetails \
134128
-XX:+PrintGCDateStamps -Xloggc:gc.log \
135-
-XX:+UseConcMarkSweepGC -XX:NewRatio=2 \
129+
-XX:+UseConcMarkSweepGC -XX:NewRatio=3 \
136130
-XX:+CMSScavengeBeforeRemark -XX:+ParallelRefProcEnabled \
137131
-XX:+HeapDumpOnOutOfMemoryError \
138132
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 \
139133
-jar FullNode.jar -c main_net_config.conf >> start.log 2>&1 &
140134
```
141-
### ARM64 JDK 17
135+
### ARM64 (JDK 17)
142136
```bash
143-
$ nohup java -Xms9G -Xmx9G -XX:+UseZGC \
137+
$ nohup java -Xmx9G -XX:+UseZGC \
144138
-Xlog:gc,gc+heap:file=gc.log:time,tags,level:filecount=10,filesize=100M \
145139
-XX:ReservedCodeCacheSize=256m \
146140
-XX:+UseCodeCacheFlushing \
@@ -151,6 +145,9 @@ $ nohup java -Xms9G -Xmx9G -XX:+UseZGC \
151145
-jar FullNode.jar -c main_net_config.conf >> start.log 2>&1 &
152146
```
153147

148+
> **Memory Tuning**
149+
> - For 16 GB RAM servers: JDK 8 use `-Xms9G -Xmx12G`; JDK 17 use `-Xmx9G`.
150+
> - For servers with ≥32 GB RAM, suggest setting the maximum heap size (`-Xmx`) to 40 % of total RAM.
154151
155152
## Running a super representative node for mainnet
156153

@@ -166,19 +163,19 @@ Fill in the private key of a super representative address into the `localwitness
166163

167164
then run the following command to start the node:
168165

169-
### x86_64 JDK 1.8
166+
### x86_64 (JDK 8)
170167
```bash
171-
$ nohup java -Xms9G -Xmx9G -XX:ReservedCodeCacheSize=256m \
168+
$ nohup java -Xms9G -Xmx12G -XX:ReservedCodeCacheSize=256m \
172169
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
173170
-XX:MaxDirectMemorySize=1G -XX:+PrintGCDetails \
174171
-XX:+PrintGCDateStamps -Xloggc:gc.log \
175-
-XX:+UseConcMarkSweepGC -XX:NewRatio=2 \
172+
-XX:+UseConcMarkSweepGC -XX:NewRatio=3 \
176173
-XX:+CMSScavengeBeforeRemark -XX:+ParallelRefProcEnabled \
177174
-XX:+HeapDumpOnOutOfMemoryError \
178175
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 \
179176
-jar FullNode.jar --witness -c main_net_config.conf >> start.log 2>&1 &
180177
```
181-
### ARM64 JDK 17
178+
### ARM64 (JDK 17)
182179
```bash
183180
$ nohup java -Xms9G -Xmx9G -XX:+UseZGC \
184181
-Xlog:gc,gc+heap:file=gc.log:time,tags,level:filecount=10,filesize=100M \
@@ -193,7 +190,7 @@ $ nohup java -Xms9G -Xmx9G -XX:+UseZGC \
193190

194191
## Quick Start Tool
195192

196-
### x86_64 JDK 1.8
193+
### x86_64 (JDK 8)
197194
An easier way to build and run java-tron is to use `start.sh`. `start.sh` is a quick start script written in the Shell language. You can use it to build and run java-tron quickly and easily.
198195

199196
Here are some common use cases of the scripting tool
@@ -204,7 +201,7 @@ Here are some common use cases of the scripting tool
204201

205202
For more details, please refer to the tool [guide](./shell.md).
206203

207-
### ARM64 JDK 17
204+
### ARM64 (JDK 17)
208205
You can refer to the [start.sh.simple](start.sh.simple).
209206

210207
```bash

framework/src/main/resources/config.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ localwitness = [
676676
block = {
677677
needSyncCheck = true
678678
maintenanceTimeInterval = 21600000 // 6 hours: 21600000(ms)
679-
proposalExpireTime = 259200000 // 3 days: 259200000(ms)
679+
proposalExpireTime = 259200000 // default value: 3 days: 259200000(ms), Note: this value is controlled by committee proposal
680680
# checkFrozenTime = 1 // for test only
681681
}
682682

start.sh.simple

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131

3232

3333
# adjust JVM start
34-
# Set the minimum heap size to 9G, adjust as needed
35-
VM_XMS="9G"
3634
# Set the maximum heap size to 9G, adjust as needed
3735
VM_XMX="9G"
3836
# adjust JVM end
@@ -131,7 +129,7 @@ startService() {
131129
fi
132130

133131
nohup "$JAVACMD" \
134-
-Xms"$VM_XMS" -Xmx"$VM_XMX" \
132+
-Xmx"$VM_XMX" \
135133
-XX:+UseZGC \
136134
-Xlog:gc,gc+heap:file=gc.log:time,tags,level:filecount=10,filesize=100M \
137135
-XX:ReservedCodeCacheSize=256m \

0 commit comments

Comments
 (0)