在阿里雲上買了臺1G內存,單核的雲服務器平時玩玩,和朋友一起開發幾個小項目。在某次同時運行Jenkins和幾個網站的情況下,在Centos系統運行yum install git
,yum報出了一個內存不足的錯,而且系統確實也是卡卡的。
- 查看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