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

薄洪涛6年前Linux1582

登陆自己的小服务器,用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

相关文章

Nginx解决跨域问题

不解释,做个记录location / {     add_header Access-Control-Allow-Origin&n...

记录一次从日志中恢复mysql数据库数据

记录一次从日志中恢复mysql数据库数据

前因:有个大佬在update的时候,忘记加where条件,造成线上数据库中的某个状态值全部被修改,需要马上处理首先面对这种情况,我马上想到的就是从二进制日志文件中恢复,马上查看是否开启了日志,确定开启...

haproxy如何开启日志

默认haproxy是不记录日志的,但是调试的时候需要我们去记录日志,所以说一下日志的记录方法1.编辑 /etc/rsyslog.conf,放开如下代码,记住是udp# Provides&nb...

实现SVN自动化部署

实现SVN自动化部署

当我们修改程序并通过SVN上传到服务器后,我们想立马刷新页面看到更改之后的效果,这时候就要用到SVN自动化部署了,所谓的自动化部署,就是当SVN提交后自动更新文件到项目目录现在我们从头来部署一遍,看到...

centos放开防火墙443端口

查看是否开启443 firewall-cmd --zone=public --query-port=443/tcp开启firewall-cmd --zone=p...

高负载均衡haproxy的搭建

高负载均衡haproxy的搭建

目的:做负载均衡步骤:做两台nginx服务器,一台haproxy转发器首先安装nginx1.安装相关的依赖包。yum install gcc -c++ yum ...

发表评论    

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