December 17, 2010
FreeBSD交换分区大小的重要性
"查看交换分区大小:\n#swapinfo -m\n前天给数据库服务器添加完内存,发现系统运行不太正常,效率比较低下,vmstat 中 faults 的 system call 比较高,有点怀疑是交换分区比物理内存少的缘故(交换分区还是原来的6G内存的大小)。再次温习 手册:\nThe kernel’s VM paging algorithms are tuned to perform best when the swap partition is at least two times the size of main memory. Configuring too little swap can lead to inefficiencies in the VM page scanning code and might create issues later if more memory is added.\n后将交换区增加到物理内存的两倍,虽然效率没有完全恢复,但目前看来还是好了很多。(由于是现有系统,只能通过添加 Swapfiles 的方式增加交换分区,但基于 Swapfiles 方式对性能 …"
December 17, 2010
FreeBSD下添加交换分区大小
"11.14 添加交换空间 不管您计划得如何好,有时候系统并不像您所期待的那样运行。 如果您发现需要更多的交换空间,添加它很简单。 有三种方法增加交换空间:添加一块新的硬盘驱动器、通过 NFS 使用交换空间和在一个现有的分区上创建一个交换文件。\n要了解关于如何加密交换区, 相关配置, 以及为什么要这样做, 请参阅手册的 第 18.17 节。\n11.14.1 在新的硬盘驱动器上使用交换空间\n这是添加交换空间最好的方法, 当然为了达到这个目的需要添加一块硬盘。 毕竟您总是可以使用另一块磁盘。如果能这么做, 重新阅读一下手册中关于交换空间的 第 11.2 节 来了解如何最优地安排交换空间。\n11.14.2 通过 NFS 交换\n除非没有可以用作交换空间的本地硬盘时, 否则不推荐您使用 NFS 来作为交换空间使用。 NFS 交换会受到可用网络带宽限制并且增加 NFS 服务器的负担。\n11.14.3 交换文件\n您可以创建一个指定大小的文件用来当作交换文件。 在我们的例子中我们将会使用叫做 /usr/swap0 的 64MB 大小的文件。当然您也可以使用任何您所希望的名字。\n例 11-1. …"
December 17, 2010
freebsd下用growfs 动态增加UFS 分区大小
"/data 不够用了,咋办?\n[root@mercury8] ~# /usr/local/etc/rc.d/nginx stop\n代码:\nStopping nginx. [root@mercury8] ~# umount /data\n[root@mercury8] ~# fdisk -BI da1\n代码:\n******* Working on device /dev/da1 ******* fdisk: Class not found 用sysinstall 的 fdisk 察看能扩展到哪个扇区:超出没关系,会提示你正确的最大值。\n引用:\nDisk name: da1 FDISK Partition Editor\nDISK Geometry: 5874 cyls/255 heads/63 sectors = 94365810 sectors (46077MB)\nOffset Size(ST) End Name PType Desc Subtype Flags\n0 63 62 – 12 unused 0\n63 94365747 94365809 da1s1 8 freebsd 165"
December 17, 2010
如何调整Linux磁盘分区的大小
"在使用linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.比如: 我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程後发现, /usr/local最多只用到了1G.这样可以将/usr/local大小调整为1G. 空出4G留作他用.本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是”拆东墙, 补西墙”的方法.\n当然, 如果你的磁盘中有未分区的空闲空间, 你就不用减小某个分区的空间了.\n准备工作\n(一) 备份\n首先组好备份要更改的分区中的文件. 对磁盘的操作也许会导致数据的丢失. 开始工作之前最好将重要的数据保存到別的分区.\n(二) 获取相关信息.\n1, 运行 $ df , 查看文件系统信息. 记下你想要调整的分区对應的挂载点和设备文件.\n这一步是为了查看/usr/local对應/dev/中的哪个设备文件. 本文以/dev/hda7为例.\n2, 运行 # sudo fdisk /dev/sda . 进入fdisk , 按下p, 查看磁盘分区信息. 记下/dev/sda8的起始柱面号, 终止柱 …"
December 16, 2010
linux ulimit调优
"1,说明: ulimit用于shell启动进程所占用的资源. 2,类别: shell内建命令 3,语法格式: ulimit [-acdfHlmnpsStvw] [size] 4,参数介绍: -H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文件的最大值.单位:blocks -l size:设置在内存中锁定进程的最大值.单位:kbytes\n-m size:设置可以使用的常驻内存的最大值.单位:kbytes -n size:设置内核可以同时打开的文件描述符的最大值.单位:n -p size:设置管道缓冲区的最大值.单位:kbytes -s size:设置堆栈的最大值.单位:kbytes -t size:设置CPU使用时间的最大上限.单位:seconds -v size:设置虚拟内存的最大值.单位:kbytes 5.举例 在Linux下写程序的时候,如果程序比较大,经常会遇到“段错误” (segmentation …"
December 16, 2010
[推荐]nginx配置文件的优化-关于nginx的一些优化
"总结的很好的,推荐大家看看,非常有用的.\n一般来说nginx配置文件中对优化比较有作用的为以下几项:\nworker_processes 8;\nnginx进程数,建议按照cpu数目来指定,一般为它的倍数。\nworker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;\n为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。\nworker_rlimit_nofile 102400;\n这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。\nuse epoll;\n使用epoll的I/O模型,这个不用说了吧。\nworker_connections 102400;\n每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数 …"
December 16, 2010
Freebsd下安装bash
"FreeBSD下默认的shell为CSH,可以通过命令\necho $SHELL\n来查看系统默认的shell是哪一个的。\n想知道FreeBSD都支持哪些shell,可以用下面的命令进行查看的\n#cat /etc/shells\n默认只支持\n/bin/sh\n/bin/csh\n/bin/tcsh\n这三种shell的,平时我们经常用bash 来写shell脚本,特别是对于那些从linux转过来的用户来说,bash可能说无所不在的.但freebsd默认情况下并不支持bash的,我们可以手动安装一下bash的,命令如下:\n1.安装bash\ncd /usr/ports/shells/bash\nmake install clean\n2. 在/bin目录下面做一个符号连接。\nln -s /usr/local/bin/bash /bin/bash\n3.加入bash\necho ‘/bin/bash’ \u0026raquo; /etc/shells\n4.更改用户shell\nchsh -s /bin/bash root\n5.配置\nvi ~/.profile\nalias ls=’ls -G’ #显示颜色\nalias …"
December 16, 2010
nginx中stub_status模块的功能
"Nginx中的stub_status模块主要用于查看Nginx的一些状态信息.\n本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:\n./configure –with-http_stub_status_module\n配置示例如代码:\nserver\n{\nlistent 80;\nserver_name status.yourdomain.com;\nlocation / {\nstub_status on;\naccess_log off;\nallow 192.168.0.1.2;\ndeny all;\n}\n}\n======================================\n语法: stub_status on\n默认值:None\n使用环境:location\n该指令用于开启Nginx状态信息\n访问以上示例中配置的 http://status.yourdomain.com/,则显示的Nginx状态信息如下:\nActive connections: 对后端发起的活动连接数.\nServer accepts handled requests: Nginx总 …"
December 15, 2010
php-fpm配置
"`\nAll relative paths in this config are relative to php\u0026rsquo;s install prefix\nPid file\n/usr/local/logs/php-fpm.pid\nError log file\n/usr/local/logs/php-fpm.log\nLog level\nnotice\nWhen this amount of php processes exited with SIGSEGV or SIGBUS \u0026hellip;\n10\n\u0026hellip; in a less than this interval of time, a graceful restart will be initiated.\nUseful to work around accidental curruptions in accelerator\u0026rsquo;s shared memory.\n1m\nTime limit on waiting child\u0026rsquo;s reaction on signals from master"
December 15, 2010
彻底关闭FreeBSD中的sendmail服务
"FreeBSD系统中的sendmail一直默认启动,而且不容易关闭。必须修改配置文件rc.conf,并一关闭几个相关进程才行。\n在/etc/rc.conf文件中加入下面几行:\nsendmail_enable=”NO”\nsendmail_submit_enable=NO\nsendmail_outbound_enable=NO\nsendmail_msp_queue_enable=NO\n重新启动系统。sendmail进程不再启动了。\n试了一下,只要加一行,sendmail也不会启动了\n在 /etc/rc.conf中加入\nsendmail_enable=”NONE”"