linux查问题记录,内存使用情况,jar启动参数

前言

部署服务的时候起不来, 一个15个微服务模块, 只能启动14个, 再多启动一个就会挤掉一个, 猜测内存不够?

1. 问题确认, 内存不够

首先查看 linux 的内存使用情况:

free -m

在这里插入图片描述
对于每个字段的解读:
total : 总数, 全部的
used: 使用中,用过的
free: 可以用的,自由的

shared: 共享, 不知道什么用
buff / cache: 缓存
available: 可用的
mem: 存储器
swap: 交换器

基本上看 存储器 mem 的 可用容量 free的大小就行了, 查看内存的使用情况

参考文档 = https://www.cnblogs.com/bonelee/p/7301020.html

2. 解决方案, 在启动jar的时候加上内存限制

nohup命令: 在后台输出日志命令
参考文档 = https://www.runoob.com/linux/linux-comm-nohup.html

nohup java -Xms堆内存初始值m -Xmx堆内存最大值m -jar xx.jar >xxx.log &
#---
nohup java -Xms256m -Xmx512m -jar service-eureka.jar >eureka.log &

Xms:堆内存初始大小
Xmx:堆内存最大值
#PermSize:永久内存初始大小
#MaxPermSize:永久内存最大值
堆内存和永久内存区别以及其他参数设置,参考jvm运行机

3. 总结

  1. free -m 查看linux的内存使用情况

  2. 启动 jar 包的命令以及参数:
    java -jar xxx.jar
    java -Xms256m -Xmx512m -jar xxx.jar

  3. -Xms堆内存初始大小数值m
    -Xmx堆内存最大数值m

  4. nohup 后台输出打印日志命令