tomcat启动时报swap空间用尽问题解决

下午,同事在linux应用服务器重启tomcat的时候,一直启动不起来,后来用free命令查看系统资源的时候发现swap的free资源是0,(下图是问题处理之后的情况)


于是就想着查看下到底是哪些进程在占用资源,用如下命令进行查看
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
结果发现:占用内存资源最多的几个进程全部是tomcat的进程,于是用命令kill -9 进程号,把所有tomcat的进程全部干掉,swap资源释放,重启tomcat之后系统正常。

经过原因分析发现,应该是同事在执行新tomcat关闭脚本sh shutdown.sh命令的时候tomcat没有关闭成功,结果他又执行了sh startup.sh命令去重启tomcat,发现没有启动成功,他又执行了几次,结果导致tomcat启了很多进程,最终将内存资源耗尽。为了避免这个问题,要求项目组在启动tomca的时候一定要确定tomcat进程关闭之后,才能去启动tomcat。我们的步骤如下:

1、先执行 #sh shutdown.sh 命令
2、#ps -ef|grep java  查看tomcat进程是否存在
3、如果存在,则执行#kill -9 进程号,对tomcat进程强制杀掉 
4、执行 #sh startup.sh 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要增加Linux的swap空间,可以按照以下步骤操作: 1. 查看当前系统的swap空间大小和使用情况,可以使用命令:`free -m`。 2. 创建一个新的swap文件,可以使用命令:`sudo fallocate -l [size] /swapfile`,其中[size]为需要创建的swap文件大小,单位为MB。 3. 设置swap文件的权限,可以使用命令:`sudo chmod 600 /swapfile`。 4. 将swap文件格式化为swap分区,可以使用命令:`sudo mkswap /swapfile`。 5. 启用swap分区,可以使用命令:`sudo swapon /swapfile`。 6. 验证swap分区是否已经启用,可以使用命令:`sudo swapon -s`。 7. 将swap分区设置为开机自动启用,可以编辑`/etc/fstab`文件,在文件末尾添加一行:`/swapfile swap swap defaults `。 完成以上步骤后,就可以成功增加Linux的swap空间了。 ### 回答2: Swap 空间在 Linux 中是为了增加内存容量而存在的一种虚拟内存。在物理内存不足的情况下,交换空间可以用作扩展内存的一部分,让系统能够继续工作。因此,当 Linux 系统中的物理内存不足时,增加 Swap 空间可以提高系统的稳定性和可靠性。本文将详细介绍如何在 Linux 系统中增加 Swap 空间。 一、查看系统当前的 Swap 空间 在开始之前,必须要先查看一下系统当前的 Swap 空间大小。我们可以用下面的命令来查看: ``` free -h ``` 其中,“-h”参数可以使输出结果以较为人性化的方式显示。此命令可以输出系统中的物理内存和 Swap 空间的使用情况。其中,Swap 一栏显示的是当前可用的 Swap 大小。如果 Swap 空间的可用空间为 0,则说明系统需要更多的 Swap 空间。 二、检查硬盘空间 在创建 Swap 空间之前,需要先检查硬盘空间,以确保有足够的空间来创建 Swap 分区。可以使用下面的命令来检查硬盘空间: ``` df -h ``` 其中,“-h”参数的作用同上。此命令输出的是文件系统的磁盘空间使用情况。 三、创建 Swap 分区 接下来就是创建 Swap 分区了。本文介绍两种方法: 1. 创建 Swap 文件 可以通过创建 Swap 文件来创建 Swap 空间。具体方法如下: ``` sudo fallocate -l <size> /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ``` 其中,“<size>”表示需要创建的 Swap 文件的大小,可以设置为任意值,但一般不小于物理内存的大小。第二条命令将新创建的 Swap 文件的权限设置为 600,以避免安全问题。第三条命令将新生成的 Swap 分区格式化为 Swap 空间。最后一条命令启用新的 Swap 空间。 2. 创建 Swap 分区 可以通过分区工具创建一个新的 Swap 分区。具体方法如下: ``` sudo fdisk /dev/sda ``` 其中,“/dev/sda”表示需要分区的设备。使用 fdisk 工具,可以创建一个新的分区,将其类型设置为 "82"(Linux Swap)。 接下来,我们需要使用 mkswap 命令对新分区进行格式化: ``` sudo mkswap /dev/sda1 ``` 其中,“/dev/sda1”表示新创建的分区的设备名称。该命令将新分区格式化为 Swap 空间。 最后,我们需要使用 swapon 命令来启用这个新的 Swap 空间: ``` sudo swapon /dev/sda1 ``` 四、永久性激活 Swap 空间 在重启系统后,系统会忽略先前创建的 Swap 空间。因此,我们需要在配置文件中添加新的 Swap 分区信息,以确保系统重启后仍能使用它。 1. 对于创建 Swap 分区的方法: 需要编辑 /etc/fstab 文件: ``` sudo nano /etc/fstab ``` 在文件的末尾添加一行类似于下面的代码: ``` /dev/sda1 swap swap defaults 0 0 ``` 其中,“/dev/sda1”表示新创建的分区的设备名,后面的 “swap swap defaults” 是 Swap 分区的参数。最后两个数字是文件系统检查的顺序,一般填写 0 即可。 保存文件,然后运行下面的命令确保新的 Swap 分区已正确添加到 fstab 文件中: ``` sudo mount -a ``` 2. 对于创建 Swap 文件的方法: 需要编辑 /etc/fstab 文件: ``` sudo nano /etc/fstab ``` 在文件的末尾添加一行类似于下面的代码: ``` /swapfile none swap sw 0 0 ``` 其中,“/swapfile”表示新创建的 Swap 文件的路径,后面的 “none swap sw” 是 Swap 文件的参数。最后两个数字是文件系统检查的顺序,一般填写 0 即可。 保存文件,然后运行下面的命令确保新的 Swap 文件已正确添加到 fstab 文件中: ``` sudo mount -a ``` 至此,我们已经完成了在 Linux 系统中增加 Swap 空间的详细过程。 ### 回答3: Swap空间是Linux操作系统中一种虚拟内存的实现方式,它可以将运行中进程的数据暂时写入硬盘,从而释放出物理内存。然而,在某些情况下,Linux系统可能会出现物理内存不足的情况,需要通过增加Swap空间解决这个问题。下面我们来看一下如何增加Swap空间。 第一步:了解系统当前的Swap状况。通过以下命令可以查看系统当前的Swap大小和使用情况。 ```shell $ swapon -s ``` 第二步:创建Swap文件。可以通过以下命令创建一个大小为8GB的Swap文件。 ```shell $ sudo fallocate -l 8G /swapfile ``` 第三步:将文件格式化为Swap文件系统。 ```shell $ sudo mkswap /swapfile ``` 第四步:启用Swap文件。 ```shell $ sudo swapon /swapfile ``` 第五步:确认Swap文件已启用。 ```shell $ swapon -s ``` 第六步:设置Swap文件在系统启动时自动启用。将下面一行加入到/etc/fstab文件中。 ```shell /swapfile swap swap defaults 0 0 ``` 至此,已经成功增加了Swap空间。需要注意的是,Swap空间的大小应该根据系统的实际需求进行调整。同时,Swap空间使用过多也会影响系统性能,因此应该尽量避免过度使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值