分类 Linux 下的文章

修改Linux交换空间的使用率

简单地说这个参数定义了系统对swap的使用倾向,默认值为60,值越大表示越倾向于使用swap。
可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。

通过sysctl -q vm.swappiness可以查看参数的当前设置。

修改参数的方法是修改vi /etc/sysctl.conf文件,加入vm.swappiness=xxx,并重起系统。
这个操作相当于是修改虚拟系统中的/proc/sys/vm/swappiness文件,将值改为XXX数值。

如果不想重起,可以通过sysctl -p动态加载/etc/sysctl.conf文件,但建议这样做之前先清空swap。

建议设置:vm.swappiness = 10

swap清理代码代码如下:
swapoff -a && swapon -a
注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大

内存使用到多少开始使用swap?
vm.swappiness 这个内核参数控制

/proc/sys/vm/swappiness
这个交换参数控制内核从物理内存移出进程,移到交换空间。该参数从0到100,当该参数=0,表示只要有可能就尽力避免交换进程移出物理内存;该参数=100,这告诉内核疯狂的将数据移出物理内存移到swap缓存中。

PS:设置vm.swappiness=0 后并不代表禁用swap分区,只是告诉内核,能少用到swap分区就尽量少用到,设置vm.swappiness=100的话,则表示尽量使用swap分区,默认的值是60
调整内存参数,当内存使用率不足10%(开始是默认值60)时在使用swap,尽量避免使用swap,减少唤醒软中断进程,从而降低ksoftirqd进程对cpu的占用。

关于linux内存分配机制
在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。

修改Linux交换空间的使用率

简单地说这个参数定义了系统对swap的使用倾向,默认值为60,值越大表示越倾向于使用swap。可以设为0,这样做并不会禁止对swap的使用,只是最大限度地降低了使用swap的可能性。

通过sysctl -q vm.swappiness可以查看参数的当前设置。

修改参数的方法是修改vi /etc/sysctl.conf文件,加入vm.swappiness=xxx,并重起系统。这个操作相当于是修改虚拟系统中的/proc/sys/vm/swappiness文件,将值改为XXX数值。

如果不想重起,可以通过sysctl -p动态加载/etc/sysctl.conf文件,但建议这样做之前先清空swap。

建议设置:vm.swappiness = 10

swap清理代码代码如下:
swapoff -a && swapon -a
注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大

Linux环境下Shell脚本中$$,$#,$?的含义?

Linux环境下Shell脚本中$$,$#,$?的含义:

$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用

多试下就明白了

nginx开启SSI模块支持shtml/shtm功能

SSI 是 Server Side Include 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。

在 Nginx 中,开启 SSI 支持非常简单,通过向 nginx.conf 中添加几行设置命令即可实现。

将下面的3行代码添加到 nginx.conf 文件的 http{} 段中,以开启 SSI 模块的支持:

ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

放第一个server段的前面

也可以直接在server段里加上

location ~ .*\.(shtm|shtml)?$ {
    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
}

需要注意:
<!–#include file="文件名称"–>
<!–#include virtual="文件名称"–>
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。
被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。

如表示当前目录下的的nav_head.htm文档,则为 file=”nav_head.htm”。
virtual 文件名是 Web 站点上的虚拟目录的完整路径。

如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为 virtual=”/hoyi/nav_head.htm”

Vi/Vim如何添加或删除多行注释

  • 在使用Vi/Vim编辑器对代码或者配置文件编辑的时候,我们经常会需要对多行添加注释或者删除多行的注释。
  1. 进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)
  2. 移动光标上移或者下移,选中多行的开头,如下图所示
  3. 选择完毕后,按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符,例如#
  4. 最后按ESC键,你就会发现多行代码已经被注释了
  5. 删除多行注释的方法,同样 Ctrl+v 进入列选择模式,移到光标把注释符选中,按下d,注释就被删除了。
  • 替换命令
    使用替换命令

:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释