linux-tips

linux内存free理解

  • total:是总的物理内存
  • used:使用中的内存
  • free:完全空闲的内存
  • shared:多个进程共享的内存 
  • buffers:写缓存,在写入磁盘之前,先把数据缓存一段时间,可以释放
  • cache:读缓存,读取过的文件,会缓存一段时间。可以释放
  • -buffers/cache:应用程序实际使用中的内存大小,等于used-buffers-cached
  • +buffers/cache:可供使用的内存总量,等于free+buffers+cached
  • Swap:不解释,都能看懂的
    所以,可以供程序使用的内存,应该看+buffers/cache,而不是free,这是新手最容易犯的错误之一。那位可能要问了,明明已经开始使用swap了,怎么能说内存还充足呢?照我的理解是,系统在分配内存的时候,如果发现内存不足,会释放一批旧的cache,把空间腾出来给新申请的进程用,有时候释放不充分或者不及时,于是开始使用到swap了!

系统启动自运行脚本

使用rc.local

sudo chmod +x /etc/rc.d/rc.local
sudo vim /etc/rc.d/rc.local
sh /home/admin/script.sh &

使用Crontab

crontab -e
@reboot (sleep 90; sh \home\admin\script.sh)