Linux堆内存修改及清理命令方式

 更新时间:2023年12月04日 08:37:08   作者:Emma-EDI顾问  
这篇文章主要介绍了Linux堆内存修改及清理命令方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

企业级的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信息

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • apache虚拟主机的配置指南

    apache虚拟主机的配置指南

    本文介绍了apache虚拟主机的配置的方法,要配置apache的虚拟主机,我们需要分以下几步进行:检查apache虚拟主机模块,开启apache虚拟主机功能,httpd-vhosts.conf文件详解,根据IP配置虚拟主机,根据端口配置虚拟主机,根据域名配置虚拟主机,有需要的小伙伴参考下
    2015-01-01
  • Linux编程之PING实现

    Linux编程之PING实现

    这篇文章主要为大家详细介绍了Linux编程之PING实现的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 学习Centos7软raid5的挂载

    学习Centos7软raid5的挂载

    本篇文章给大家通过详细步骤介绍了Centos7软raid5的挂载的方法,有需要的读者们学习下吧。
    2018-02-02
  • centOS7.4 安装 mysql 5.7.26的教程详解

    centOS7.4 安装 mysql 5.7.26的教程详解

    CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。这篇文章主要介绍了centOS7.4 安装 mysql 5.7.26,需要的朋友可以参考下
    2019-06-06
  • 如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡

    如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡

    这篇文章主要介绍了如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡,有对这方面感兴趣的同学,可以跟随小编一起来研究学习下吧
    2020-12-12
  • 在ubuntu中部署samba服务器的方法

    在ubuntu中部署samba服务器的方法

    这篇文章主要介绍了在ubuntu中部署samba服务器的方法,包括samba的安装,创建Samba配置文件的方法,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • Linux 判断文件修改时间和系统时间差

    Linux 判断文件修改时间和系统时间差

    这篇文章主要介绍了 Linux 判断文件修改时间和系统时间差的相关资料,需要的朋友可以参考下
    2017-05-05
  • Ubuntu 18.04 Server 设置静态IP 的方法

    Ubuntu 18.04 Server 设置静态IP 的方法

    Netplan是Ubuntu 17.10中引入的一种新的命令行网络配置实用程序,用于在Ubuntu系统中轻松管理和配置网络设置。这篇文章主要介绍了Ubuntu 18.04 Server 设置静态IP 的方法,需要的朋友可以参考下
    2018-11-11
  • Linux下文件的切分与合并的简单方法介绍

    Linux下文件的切分与合并的简单方法介绍

    这篇文章主要介绍了Linux下文件的切分与合并的简单方法介绍,介绍了相关实例。实例通过split及cat命令实现此过程,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • apache documentroot指向htcdoc之外提示403错误的解决方法

    apache documentroot指向htcdoc之外提示403错误的解决方法

    在windows和RH都碰到过,只要把主目录指到其他地方后就出现权限不够的403提示,郁闷了好久。
    2010-04-04

最新评论