首页 / LINUX / Linux - swap
Linux - swap
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux - swap,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1279字,纯文字阅读大概需要2分钟。
内容图文
swap 分区
硬盘分区为主分区+扩展分区 所有的逻辑分区都在扩展分区内;wap分区,即交换区,系统在物理内存不够时,与Swap进行交换;Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
列出正在占用swap的进程 #!/bin/bash echo -e "PID\t\tSwap\t\tProc_Name" # 拿出/proc目录下所有以数字为名的目录(进程名是数字才是进程,其他如sys,net等存放的是其他信息) for pid in `ls -l /proc | grep ^d | awk ‘{ print $9 }‘| grep -v [^0-9]` do # 让进程释放swap的方法只有一个:就是重启该进程。或者等其自动释放。放 # 如果进程会自动释放,那么我们就不会写脚本来找他了,找他都是因为他没有自动释放。 # 所以我们要列出占用swap并需要重启的进程,但是init这个进程是系统里所有进程的祖先进程 # 重启init进程意味着重启系统,这是万万不可以的,所以就不必检测他了,以免对系统造成影响。 if [ $pid -eq 1 ];then continue;fi grep -q "Swap" /proc/$pid/smaps 2>/dev/nullif [ $? -eq 0 ];then swap=$(grep Swap /proc/$pid/smaps | gawk ‘{ sum+=$2;} END{ print sum }‘) proc_name=$(ps aux | grep -w "$pid" | grep -v grep | awk ‘{ for(i=11;i<=NF;i++){ printf("%s ",$i); }}‘) if [ $swap -gt 0 ];then echo -e "${pid}\t${swap}\t${proc_name}" fi fi done | sort -k2 -n | awk -F‘\t‘‘{ pid[NR]=$1; size[NR]=$2; name[NR]=$3; } END{ for(id=1;id<=length(pid);id++) { if(size[id]<1024) printf("%-10s\t%15sKB\t%s\n",pid[id],size[id],name[id]); elseif(size[id]<1048576) printf("%-10s\t%15.2fMB\t%s\n",pid[id],size[id]/1024,name[id]); else printf("%-10s\t%15.2fGB\t%s\n",pid[id],size[id]/1048576,name[id]); } }‘
原文:https://www.cnblogs.com/sharesdk/p/8687378.html
内容总结
以上是互联网集市为您收集整理的Linux - swap全部内容,希望文章能够帮你解决Linux - swap所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】