Linux堆内存修改及清理命令

7 篇文章 0 订阅
3 篇文章 0 订阅
本文介绍了如何在Linux环境中解决知行之桥EDI服务器提示内存不足的问题。通过确认Java进程PID和版本,查看当前堆内存使用,然后在服务文件中设置和调整Java堆内存大小,重启服务来实现内存分配。同时,文章还提供了Java堆内存和系统内存的清理方法,确保服务器稳定运行。此外,列举了一些常用服务器监控命令,如查看内存使用、CPU占用和磁盘I/O性能。
摘要由CSDN通过智能技术生成

企业级的EDI服务器一般大家都会选择使用Linux服务器来进行安装部署知行之桥,项目在运行过程中有时会提示服务器内存不足,往往得到的反馈都是“我们的服务器内存很大,为什么还是一直提示内存不足呢?”,其实是因为分配给知行之桥使用的java堆内存不足导致的,这就需要分配充足的java堆内存。本文将介绍如何来进行修改java堆内存,及如何进行清理。

修改堆内存

1.首先我们需要确认知行之桥进程的pid及jdk版本
pid命令:ps -ef | grep java
在这里插入图片描述
如上图,查到知行之桥进程pid为6956

jdk版本命令:
在这里插入图片描述
2.确认目前知行之桥占用的堆内存
命令:java 11及以上版本使用:jhsdb jmap --heap --pid 6956
低版本使用:jmap -heap 6956
在这里插入图片描述
如上图,MaxHeapSize表示分配的最大堆内存,为244M
3.在知行之桥服务文件中设置堆内存大小
①进入知行之桥服务文件目录,找到arc.service文件
命令:cd /etc/systemd/system
在这里插入图片描述
②修改arcesb.service文件中的内存设置参数
命令:vi arc.service
在这里插入图片描述
修改后,:wq保存退出文件编辑。

③执行重新加载知行之桥服务注册文件:
命令:systemctl daemon-reload
④设置开机知行之桥服务自启动:
命令:systemctl enable arc
在这里插入图片描述
⑤重启知行之桥服务
命令:service arc restart
在这里插入图片描述
⑥确认堆内存是否修改成功:
重启知行之桥后,pid会改变,先查下新的pid
在这里插入图片描述
查看堆内存:jhsdb jmap --heap --pid 10061,如下图已更改为500M
在这里插入图片描述
⑦确认知行之桥服务是运行状态
在这里插入图片描述

堆内存清理

如果堆内存使用过高,如何进行清理呢?

我们可以通过对java堆内存和系统内存清理两种方式进行清理,但是考虑稳定性,建议优先使用java堆内存清理,系统内存清理建议服务器空闲时间再使用。

Java堆内存清理
1.查看知行之桥进程的pid
命令:ps -ef | grep java
在这里插入图片描述
2.确认目前知行之桥占用的堆内存
命令:java 11及以上版本使用:jhsdb jmap --heap --pid 10061
低版本使用:jmap -heap 10061
在这里插入图片描述
3.清理java堆内存
命令:jcmd 10061 GC.run
在这里插入图片描述
4.延迟几秒,查看清理后堆内存占用情况
命令:jhsdb jmap --heap --pid 10061 (jmap -heap 10061)
在这里插入图片描述
如上图java堆内存清理成功,从70.10%降到了38.55%。

系统内存清理
1.查看系统内存使用情况
命令:free -h
在这里插入图片描述
2.清理系统内存
命令:sync && echo 3 > /proc/sys/vm/drop_caches
在这里插入图片描述
3.延迟几秒,查看清理后系统内存情况
在这里插入图片描述
如上图,可用系统内存从94M增加到了346M,清理成功。

一些其他常用的关于 EDI服务器操作的命令

1.查看服务器所有挂载点及占用比例
命令:df -h
在这里插入图片描述
2.查看知行之桥占用对应挂载点比例
命令:df /知行之桥安装目录
在这里插入图片描述
以上结果表示:知行之桥挂在名为/dev/mapper/centos-root的挂载点上,占用24%的空间

3.查看CPU使用情况
①命令:top #
在这里插入图片描述
如上图,在查询结果的第三行有显示CPU的使用情况,其中:

%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu

②命令:vmstat
在这里插入图片描述
③命令:sar
sar命令不存在时,需要先安装sysstat包,安装命令:yum install sysstat
在这里插入图片描述
sar #查看CPU
在这里插入图片描述

%user:用于表示用户模式下消耗的 CPU 时间的比例;
%nice:通过 nice 改变了进程调度优先级的进程,在用户模式下消耗的 CPU 时间的比例;
%system:系统模式下消耗的 CPU 时间的比例;
%iowait:CPU 等待磁盘 I/O 导致空闲状态消耗的时间比例;
%steal:利用 Xen 等操作系统虚拟化技术,等待其它虚拟 CPU 计算占用的时间比例;
%idle:CPU 空闲时间比例。

sar -d查看系统磁盘的读写性能
在这里插入图片描述

tps:每秒从物理磁盘 I/O 的次数。注意,多个逻辑请求会被合并为一个 I/O 磁盘请求,一次传输的大小是不确定的;
rd_sec/s:每秒读扇区的次数;
wr_sec/s:每秒写扇区的次数;
avgrq-sz:平均每次设备 I/O 操作的数据大小(扇区);
avgqu-sz:磁盘请求队列的平均长度;
await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1 秒=1000 毫秒);
svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间;
%util:I/O 请求占 CPU 的百分比,比率越大,说明越饱和

4.查看inode(存储文件属性信息的区域)
①命令:df -i 查看每个硬盘分区的inode总数和已经使用的数量
在这里插入图片描述
②命令:stat 文件夹/文件名 查看某个文件夹/文件的inode信息
在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值