@@ -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
737364-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
104104Requires 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
127121Full 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
167164then 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)
197194An 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
199196Here are some common use cases of the scripting tool
@@ -204,7 +201,7 @@ Here are some common use cases of the scripting tool
204201
205202For more details, please refer to the tool [ guide] ( ./shell.md ) .
206203
207- ### ARM64 JDK 17
204+ ### ARM64 ( JDK 17)
208205You can refer to the [ start.sh.simple] ( start.sh.simple ) .
209206
210207``` bash
0 commit comments