服务器:swap告警,系统异常报错

薄洪涛6年前Linux1381

登陆自己的小服务器,用composer下载个东西,一直报killed

[root@host voyager]# composer require tcg/voyager
Killed

这个错误是内存不足导致的,我看了下我的内存,好像还可以

image.png

又看了下swap,发现swap告警,当初默认的swap容量如下:

[root@host /]# free -h
             total       used       free     shared    buffers     cached
Mem:          504M       387M       116M       392K        10M        47M
-/+ buffers/cache:       328M       175M
Swap:         131M       124M       7.8M

几乎全占满了,这还了得,得要扩容啊, 我得内存是512m,怎么也要扩容要1024m(一般为内存的两倍)

先说下swap的作用(黑体部分是百度搜索的)

Linux系统的Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。 

说下扩容的步骤:

  1. 先查看自己的内存,确定自己的swap大小(内存的2倍)

[root@host /]# free -h
             total       used       free     shared    buffers     cached
Mem:          504M       387M       116M       392K        10M        47M
-/+ buffers/cache:       328M       175M
Swap:         131M       124M       7.8M

   2. 找个空白的目录,大小自己指定,我是在/opt下自己新建的swap文件夹,然后在此文件夹下进行的如下操作

[root@host swap]# dd if=/dev/zero of=/swapfile bs=1024 count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 4.81479 s, 218 MB/s

 3. 将此转换成swap分区

[root@host swap]# mkswap /swapfile
mkswap: /swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=e9cc0e81-e6bb-4a73-b96a-c707ad83574f

 4.  加入到当前的swap分区

[root@host swap]# swapon /swapfile

 5.  查看swap分区大小

[root@host swap]# free -h
             total       used       free     shared    buffers     cached
Mem:          504M       495M       8.3M       392K        10M       151M
-/+ buffers/cache:       333M       170M
Swap:         1.1G       124M       1.0G

image.png

最后继续之前的composer下载,成功!

标签: linuxswap

相关文章

编辑器之神Vim的使用

在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神。今天我们来学习下编辑器之神Vim的使用;想当年我开始学习Vim的时候,最抓狂的事情莫过于怎么退出vim;...

Centos7 下开机自启

我在虚拟机上搭建了一套nginx+php,然后每次开机的时候,都要去手动去运行让服务起来,这我可忍不了了,毕竟我可是懒癌晚期废话少说,我们直接设置开机启动1.在系统目录创建服务文件(不要问为什么,li...

前后端分离如何实现用户身份认证及鉴权?

前后端分离如何实现用户身份认证及鉴权?

假设我们不适用前后端分离,那么登录成功之后,我们会把用户的信息存储到session中,之后的每一次请求,都会带着cookies中的session_id,服务端会自行验证此用户是否登录及登录是否失效,那...

centos上为php安装扩展

今天做了一个查询心跳数据的功能,相关的数据放在redis里面,我才用了yii框架链接redis的时候,线上服务器报Class yii\redis\Connection does not exist造成...

mac下使用docker来构建不同版本的php环境并安装扩展

切换到mac后,我目前php环境是php7.3 ,但是一些老项目需要7.1 甚至5.6 的环境,特别是服务器上也有这种问题,所以我决定使用docker来部署不同的项目首先安装dockerbrew&nb...

git默认用户名及密码

服务器设置默认全局git用户名/密码cd ~ vi .git-credentials https://{username}:{password}@git.coding.net gi...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。