一 执行命令free -gh
1. free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
2. -g 表示以G单位显示, -m以兆单位显示, h会在数字后面加单位(G,M)
3.下面先解释一下输出的内容:
Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。 (假如用到了交换内存,那你的内存不足了,有钱直接+内存,没钱就减少占用内存的进程)
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。
总物理内存 total=used+free+buff/cache
还可以申请的物理内存 = available
应用程序已使用的物理内存 = used
已占用的物理内存 = total - available
available <= free + buff/cache 因为有一部分page或cache是不能回收的
看上图红框标注的free,我的现在是1.6G,如果显示0那么服务器偶尔会卡顿了
找找看是不是启动了很多进程占用内存;相应杀一些进程;顺便记录一个批量杀进程命令
ps aux | grep python3 | grep -v grep | awk '{print $2}' | xargs kill -15
xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数。
二 执行命令top
看%Cpu(s) 这列的 26.7id, 它表示剩余(100~0),如果很低,则表示cpu被吃完了,现在我的是26.7也是低了点;
看哪些进程占用cpu较多,能优化就优化吧;
三 执行命令iostat -x 1(查看磁盘IO使用情况)
后面那个1表示一秒刷新一次
我的两个磁盘vda和vdb;
当发现最右侧%util很高时,表示IO就很高了;
四 执行命令df -h(查看磁盘使用情况)
这里就不在记录了,已经记录过另一篇了,直达链接