03. 9.

一般使用ssh去登陆linux主机的时候如果会慢,一般从以下几个方面入手分析原因:

本文系转载,原文地址:http://hi.baidu.com/jackli00/blog/item/51be9a00c13b110e1d958301.html

最近发现ssh连接的时候却很慢,ping的速度非常好,让人误以为是ssh连接不上。

分析结果,主要原因为:DNS的解析IP导致,可分别使用以下几种分析处理方式
1、在server上/etc/hosts文件中把你本机的ip和hostname加入
2、在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no
3、注释掉server上/etc/resolv.conf中不使用的IP所有行
4、修改server上/etc/nsswitch.conf中hosts为hosts:files
5、authentication gssapi-with-mic也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no。/etc/init.d/sshd restart重启sshd进程使配置生效。
如之前为服务器配置了双网卡,使的在/etc/resolv.conf文件中多了一行目前不使用的IP地址。注释或者删除该行即可。


03. 1.

本文系转载,原文地址:http://www.jondy.net/blog/freebsdportsfetch-wget-axel-prozilla/

我选了第二种,多线程比较时候偶们公司的光纤~
Freebsd 中 ports默认的下载时使用fetch 经常出现龟速。
替代的下载工具常用的有wget、axel、prozilla。
替换方法就是修改make.conf 了,如下:

阅读全文 »


01. 21.

今天升级下系统,yum -y update时候提示如下错误:
package libstdc++-4.3.0-8.x86_64 (which is newer than libstdc++-4.1.2-46.el5_4.2.i386) is already installed

解决办法:
shell> updatedb
shell> locate libstdc++-4.1.2-46.el5_4.2.i386
/var/cache/yum/update/packages/libstdc++-4.1.2-46.el5_4.2.i386.rpm
shell> rpm -ivh --oldpackage --force /var/cache/yum/update/packages/libstdc++-4.1.2-46.el5_4.2.i386.rpm


01. 14.

一般不需要修改OpenSSH客户端配置文件。对于给定用户,共有两个配置文件,分别是~/.ssh/config(用户专用)和/etc/ssh/ssh_config(全局共享)。要按照该顺序读取这些文件,对于给定的某个参数,它使用的是读取过程中发现的第一个配置。用户可以通过以下方式将全局参数设置覆盖掉:在自己的配置文件中设置同样的参数。在ssh或scp命令行上给出的参数的优先级要高于这两个文件中所设置的参数的优先级。

用户的~/.ssh/config文件必须由该用户所有(他是目录"~/"的所有者),并且除了所有者之外任何人都不能写入该文件。否则客户端就会给出一条错误消息然后退出。这个文件的模式通常被设为600,这是因为除了它的所有者之外任何人都没有理由能够去读取它。

这些配置文件中的配置行包含着声明,这些声明均以某个关键字(不区分大小写)开头,后面是空白,最后是参数(区分大小写)。

可以使用关键字Host来使声明只作用于特定的系统。Host声明作用于它与下一个Host声明之间的所有配置行。在主机名中,可以使用通配符*和?。

Host hostnames

将下面的声明(

直到下一条Host声明)都指定为只适用于hostnames。hostnames采用的格式应该与在命令行上所用的格式一样,而且也能够包含通配符*和?。单个*指定所有主机。

CheckHostIP yes|no

阅读全文 »


12. 2.

直接举例:
shell> fdisk /dev/hda

The number of cylinders for this disk is set to 5221.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
阅读全文 »


12. 1.

一、PPTP 协议介绍
1、PPTP 简介
PPTP: Point to Point Tunneling Protocol
点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术。通过该协议,远程用户能够通过 Microsoft Windows NT 工作站、Windows 95 和 Windows 98 操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地 ISP,通过 Internet 安全链接到公司网络。
PPTP 可以用于在 IP 网络上建立 PPP 会话隧道。在这种配置下,PPTP 隧道和 PPP 会话运行在两个相同的机器上,呼叫方充当 PNS。PPTP 使用客户机-服务器结构来分离当前网络访问服务器具备的一些功能并支持虚拟专用网络。PPTP 作为一个呼叫控制和管理协议,它允许服务器控制来自 PSTN 或 ISDN 的拨入电路交换呼叫访问并初始化外部电路交换连接。
PPTP 只能通过 PAC 和 PNS 来实施,其它系统没有必要知道 PPTP。拨号网络可与 PAC 相连接而无需知道 PPTP。标准的 PPP 客户机软件可继续在隧道 PPP 链接上操作。
PPTP 使用 GRE 的扩展版本来传输用户 PPP 包。这些增强允许为在 PAC 和 PNS 之间传输用户数据的隧道提供低层拥塞控制和流控制。这种机制允许高效使用隧道可用带宽并且避免了不必要的重发和缓冲区溢出。PPTP 没有规定特定的算法用于低层控制,但它确实定义了一些通信参数来支持这样的算法工作。
阅读全文 »


11. 25.

Everything was smooth before i upgrade VirtualBox to version 3.0.12, i can not install a 64bit os, even unables to startup a installed os base on 64bit.

The screen show the error message "NMI Watchdog detected LOCKUP", and i found this via google:

http://forums.virtualbox.org/viewtopic.php?f=3&t=24832

and a guy called kevin.clevenger gave the solution:

Setting the kernel parameter nmi_watchdog=0 (as suggested in another post) works around the issue and gets the client booted. I do not consider this to be a fix however.

1) install the CentOS 5.4 x86_64, boot: linux text nmi_watchdog=0
2) startup the OS, when you see boot loader then press "a" to modify the default boot, add nmi_watchdog=0 in the end, continue booting. this change is only okay for the current boot,  so i suggest editing the "/boot/grub/grub.conf",  and add the "nmi_watchdog=0" at the end of  the line witch looks like:  kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 nmi_watchdog=0


10. 2.

某台前端服务器发现iconv函数数据输出为空。其他前端则输出正常;系统版本和安装的软件包都是一样;经过分析基本判断为gd库和iconv的冲突问题只要php编译中加入gd库支持就会导致这一情况。

但是在前端服务器里面缺完全没有这个问题,看来只是针对特定硬件出现的问题。解决方法是把gd或者iconv作为作为动态模块加载,总之避免gd和iconv同时使用静态方式编译就行。

php动态方式加载gd编译方法

首先安装好gd
假设gd是安装在/usr/local/gd,php是安装在/usr/local/php

cd /usr/local/src/php-5.2.8/ext/gd/
/usr/local/php/bin/phpize
./configure --with-gd=/usr/local/gd --with-php-config=/usr/local/php/bin/php-config
make && make install

阅读全文 »


09. 24.

key_buffer_size - 这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载。
记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。尽管如此,需要总是检查是否所有的 key_buffer 都被利用了。
.MYI 文件只有 1GB,而 key_buffer 却设置为 4GB 的情况是非常少的。这么做太浪费了。如果你很少使用MyISAM表,那么也保留低于 16-32MB 的 key_buffer_size 以适应给予磁盘的临时表索引所需。

innodb_buffer_pool_size - 这对Innodb表来说非常重要。Innodb相比MyISAM表对缓冲更为敏感。MyISAM可以在默认的 key_buffer_size 设置下运行的可以,然而Innodb在默认的 innodb_buffer_pool_size 设置下却跟蜗牛似的。由于Innodb把数据和索引都缓存起来,无需留给操作系统太多的内存,因此如果只需要用Innodb的话则可以设置它高达 70-80% 的可用内存。如果你的数据量不大,并且不会暴增,那么无需把 innodb_buffer_pool_size 设置的太大了。

innodb_additional_pool_size - 这个选项对性能影响并不太多,至少在有差不多足够内存可分配的操作系统上是这样。不过如果你仍然想设置为 20MB(或者更大),因此就需要看一下Innodb其他需要分配的内存有多少。

阅读全文 »


07. 3.

本文系转载,原文链接:http://www.zuiyouxiao.com/?action=show&id=53

每秒7000多个包,动态请求非常多,有开始丢包现象
修改了一些内核参数,可以相对增强linux吞吐能力

sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=2500
sysctl -w net.ipv4.netfilter.ip_conntrack_max=131072
sysctl -w net.ipv4.ip_conntrack_max=131072
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_generic_timeout=120
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=15
sysctl -w et.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=60
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_max_retrans=2
sysctl net.ipv4.tcp_max_syn_backlog=3072
sysctl -w net.core.somaxconn=1024
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=6
sysctl -w net.ipv4.netfilter.ip_conntrack_max=163840
sysctl -w net.ipv4.tcp_synack_retries=1