在阿里云上买了台1G内存,单核的云服务器平时玩玩,和朋友一起开发几个小项目。在某次同时运行Jenkins和几个网站的情况下,在Centos系统运行yum install git,yum报出了一个内存不足的错,而且系统确实也是卡卡的。

  1. 查看linux内存
    命令free和top都可以查看内存情况。free查看的挚友内存信息,top则就像windows里的控制面板。
    除此之外,/proc/meminfo文件也记录有内存情况
[root@~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            992         765          71           0         155          81
Swap:             0           0           0
[root@iZbp1aiejzadfq9do06acaZ ~]# top

top - 21:42:15 up 21:46,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  61 total,   2 running,  59 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.0 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016412 total,    72560 free,   783892 used,   159960 buff/cache
KiB Swap:  1048572 total,   821984 free,   226588 used.    82828 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                 
 9338 root      20   0 2608740 678916   6392 S  0.3 66.8  11:17.35 java                    
  892 mysql     20   0 1146768  37060   5240 S  0.0  3.6   0:24.99 mysqld                  
18361 root      20   0  143388   5420   4136 S  0.0  0.5   0:00.05 sshd                    
  893 root      20   0  124076   5116   1948 S  0.0  0.5   2:19.63 AliYunDun               
  333 root      20   0   45008   3324   3204 S  0.0  0.3   0:00.35 systemd-journal         
18366 root      20   0  115516   2192   1684 S  0.0  0.2   0:00.02 bash                    
18671 root      20   0  157576   2136   1536 R  0.0  0.2   0:00.00 top        
[root@iZbp1aiejzadfq9do06acaZ ~]# cat /proc/meminfo 
MemTotal:        1016412 kB
MemFree:           72528 kB
MemAvailable:      83164 kB
Buffers:           17004 kB
Cached:           110144 kB
SwapCached:        46080 kB
Active:           432064 kB
Inactive:         452212 kB
Active(anon):     369412 kB
Inactive(anon):   387764 kB
Active(file):      62652 kB
Inactive(file):    64448 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       1048572 kB
...

2.分配虚拟内存
万万没想到,阿里云默认是不分配虚拟内存的。只能自己动手分配了。
虚拟内存swap的概念就不细说了,需要提的一点是,虚拟内存搞起来就是个文件!!大概的操作就是,划出一块空闲硬盘空间用来创建一个文件,这个文件一般放在/swap目录下,然后执行mkswap命令,这个文件就变成swap了,swapon命令使swap生效,reboot重启分配虚拟内存就完成了。

将/dev/vda1的1024*1024000byte空间,分配到/swap/swap文件。

[root@iZbp1aiejzadfq9do06acaZ ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
/dev/vda1      41152832 6738928 32300420   18% /
devtmpfs         498536       0   498536    0% /dev
tmpfs            508204       0   508204    0% /dev/shm
tmpfs            508204     328   507876    1% /run
tmpfs            508204       0   508204    0% /sys/fs/cgroup
tmpfs            101644       0   101644    0% /run/user/0
dd if=/dev/vda1 of=/swap/swap bs=1024 count=1024000

创建linux交换文件

mkswap /swap/swap

立即激活/swap/swap交换文件

swapon /swap/swap

重启系统

reboot
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐