# Other Method To Reduce Memory Usage

+ Adjusting the GO memory release strategy
  + GO's runtime has two strategies for freeing memory to return to the kernel under the Linux platform: 
    + MADV_DONTNEED
    + MADV_FREE
  + Add the environment variable GoDebug=MADVDontNeed=1 before starting the TIDB Server

+ restart TiDB Server on a rolling basis
------------------------------------------------------------
Other method to reduce memory usage
Use the TIDB-Runtime —> Memroy Usage panel in Grafana to confirm that if it is a memory usage exception caused by non-SQL, that is, a non-yellow part occupation exception, you can try the following method:

- Adjusted GO memory release strategy
GO's runtime has two strategies for freeing memory to return to the kernel under the Linux platform:
  - MADV_DONTNEED: Will decrease the number of RSS very quickly, but it is less efficient
  - MADV_FREE: Runtime uses the more efficient MADV_FREE when freeing memory, i.e. the kernel waits until memory is tight to release. This memory can still be reused until it is freed. This feature is supported starting with the Linux 4.5 kernel
Add the environment variable GODEBUG=MADVDONTNED=1 before starting the TIDB Server, and return the memory to the operating system immediately upon GC, reducing memory usage.

- restart TiDB Server on a rolling basis
