解决 ssh 创建连接极慢的问题
[ 2010/10/22 11:55 | by selboo ]
做 Web 开发的工作经常需要 ssh 或者 scp 连接一堆远程主机,同样是 Linux 主机,其中一些创建 ssh 连接速度特别慢,连接建立之后执行操作速度却很正常,看来应该不是网络原因。
Google 了一下,这位老兄也遇到类似的问题,看完他描述的问题才知道可以用 ssh -v 来查看详细的连接建立过程,马上用一台建立连接很慢的主机试了一下,在一大堆输出信息中发现在这里停留最久:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS f
Google 了一下,这位老兄也遇到类似的问题,看完他描述的问题才知道可以用 ssh -v 来查看详细的连接建立过程,马上用一台建立连接很慢的主机试了一下,在一大堆输出信息中发现在这里停留最久:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS f
/proc/uptime 文件
[ 2010/10/10 17:32 | by selboo ]
有关/proc/uptime这个文件里两个参数所代表的意义:
[root@74-82-173-217 ~]# cat /proc/uptime
3387048.81 3310821.00
第一个参数是代表从系统启动到现在的时间(以秒为单位):
3387048.81秒 = 39.20195381944444 天 说明这台服务器已连续开机 39.20195381944444 天
第二个参数是代表系统空闲的时间(以秒为单位):
3310821.00秒 = 38.3196875天 说明这台机器从开机到现在一共只有38天左右没事干。
计算一下空闲率:
3310821.00 / 3387048.81 = 0.9774943278718207
也就是说:它的空闲率是97%
空闲率高低并不意味着,它做的工作很多,还有跟服务器的配置和性能有很大的关系,这台服务器有这么低的空闲率,或者说这么高的利用率,是因为它的配置比较低,C1.7 CPU,256MB内存。
阅读全文
[root@74-82-173-217 ~]# cat /proc/uptime
3387048.81 3310821.00
第一个参数是代表从系统启动到现在的时间(以秒为单位):
3387048.81秒 = 39.20195381944444 天 说明这台服务器已连续开机 39.20195381944444 天
第二个参数是代表系统空闲的时间(以秒为单位):
3310821.00秒 = 38.3196875天 说明这台机器从开机到现在一共只有38天左右没事干。
计算一下空闲率:
3310821.00 / 3387048.81 = 0.9774943278718207
也就是说:它的空闲率是97%
空闲率高低并不意味着,它做的工作很多,还有跟服务器的配置和性能有很大的关系,这台服务器有这么低的空闲率,或者说这么高的利用率,是因为它的配置比较低,C1.7 CPU,256MB内存。
阅读全文
用xinetd实现小型网络服务
[ 2010/09/27 16:31 | by selboo ]
linux 里带了一个 xinetd ,可以用来很方便地实现一些小型的网络服务。处理网络链接,fork 子进程等等都交给它来办,而我们自己只需要操作标准输入输出的程序就可以了。
先写一个简单的程序,我这里就写个php程序,其实用什么都是可以的,然后放在 /opt/selboo.php :
[code]<?php
$in = fopen('php://stdin', 'r');
$out = fopen('php://stdout', 'w');
while ($r = fgets($in)) {
$r = trim($r);
if ($r == 'exit'
在 linux 的命令行输出进度条
[ 2010/09/26 11:34 | by selboo ]
linux 有些个命令比如 wget 会显示一个进度条。终于知道了一个办法弄出这个效果。其实也很简单:
php 版
<?php
for ($i = 0; $i <= 50; $i++) {
printf("progress: [%-50s] %d%%\r", str_repeat('#',$i), $i * 2);
usleep(1000 * 100);
}
echo "\n";
echo "Done.\n";
for ($i = 0; $i <= 50; $i++) {
printf("progress: [%-50s] %d%%\r", str_repeat('#',$i), $i * 2);
usleep(1000 * 100);
}
echo "\n";
echo "Done.\n";
每次用 \r 结尾就是了。\n 是 new line,\r 是 return 。也就是回到行首。
bash shell 版
[code]b=''
fo
FAQ: 终端和控制台
[ 2010/09/25 11:06 | by selboo ]
由于在很多朋友对终端的概念一直不是很清楚,因此写了这个FAQ,希望能够帮助大家理解这些概念。不妥之处,还请大家来信指出。
Q:/dev/console 是什么?
A:/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。目前只有在单用户模式下,才允许用户登录控制台。
Q:/dev/tty是什么?
A:tty设备包括虚拟控制台,串口以及伪终端设备。/dev/tty代表当前tty设备,在当前的终端中输入 echo “hello” > /dev/tty ,都会直接显示在当前的终端中。
Q:/dev/ttyS*是什么?
A:/dev/ttyS*是串行终端设备。
Q:/dev/pty*是什么?
A:/dev/pty*即伪终端,所谓伪终端是逻辑上的终端设备,多用于模拟终端程序。例如,我们在X Window下打开的终端,以及我们在Windows使用telnet 或ssh等方式登录Linux主机,此时均在使用pty设备(准确的说应该pty从设备)。
阅读全文
Q:/dev/console 是什么?
A:/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。目前只有在单用户模式下,才允许用户登录控制台。
Q:/dev/tty是什么?
A:tty设备包括虚拟控制台,串口以及伪终端设备。/dev/tty代表当前tty设备,在当前的终端中输入 echo “hello” > /dev/tty ,都会直接显示在当前的终端中。
Q:/dev/ttyS*是什么?
A:/dev/ttyS*是串行终端设备。
Q:/dev/pty*是什么?
A:/dev/pty*即伪终端,所谓伪终端是逻辑上的终端设备,多用于模拟终端程序。例如,我们在X Window下打开的终端,以及我们在Windows使用telnet 或ssh等方式登录Linux主机,此时均在使用pty设备(准确的说应该pty从设备)。
阅读全文