Linux极客的56个技巧(3)
按顺序,这些命令将让硬件转换成Standby(待命)模式,再转换成Sleep(睡眠)模式,并且最终设置Automatic(自动)旋转超时。这个结尾包含一个以5秒为单位的一块块数字变量(例如,值为12就等同于一分钟)。
顺便说一下,这个降低旋转时间至5秒为单位的习惯真值得拿一个特别的用户友好奖——这个值的设置也许有什么历史原因,但我们不知道。如果你恰好知道为什么,请来信告知我们!
15:无线速度管理难度:中等
应用程序:iwconfig
一个radio发送/接受设备和其他设备间的传输速度,取决于有多少可用信号。在信号减弱的时候如需维持传输,就需要降低radio的传输速度。一般情况下,radio都会自己找到可用信号,并自动选择最快的速度。
在边缘区域中,信号强度勉强够用,这时候就可能因radio不断调试连接速度而造成不必要的包丢失。如果不能加强天线增益,或移动设备位置来获取更充足的信号,可以尝试强制让card同步到一个较低的速率。这样,radio就会减少调试频率,实际上,还会比使用持续触发的链接传输得快一些。不同的驱动器有不同的链接速度设置方法。在Linux中,可用iwconfig来设置速度:
iwconfig eth0 rate 2M
这个指令能强制使广播总是同步在2Mbps,即使还存在其他可用速度。你也可以设置一个明确的速度作为上限,允许卡自动按照任何低于这个上限的速度来工作,但是不能高于它。例如,你可以把它作用于上文举例的连接上:
iwconfig eth0 rate 5.5M auto
如上的指令可以让驱动器将速度上限设为5.5Mbps,只慢不快。想要将card恢复为全自动缩放,只需要制定它自己自动工作。
iwconfig eth0 rate auto
通常卡在1Mbps时比它们在11Mbps时可以延伸的更远。在这两种速率之间,Orinoco卡有12dB的差别,即降低数据速率可获得的潜在传输距离的四倍。
16:疏通开端口难度:中等
应用程序:netstat
要获取在Linux服务器上处于监听状态的网络服务器的列表,可使用netstat程序:
root@catlin:~# netstat -lnpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 698/perl tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 217/httpd tcp 0 0 10.42.3.2:53 0.0.0.0:* LISTEN 220/named tcp 0 0 10.42.4.6:53 0.0.0.0:* LISTEN 220/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 220/named tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 200/sshd udp 0 0 0.0.0.0:32768 0.0.0.0:* 220/named udp 0 0 10.42.3.2:53 0.0.0.0:* 220/named udp 0 0 10.42.4.6:53 0.0.0.0:* 220/named udp 0 0 127.0.0.1:53 0.0.0.0:* 220/named udp 0 0 0.0.0.0:67 0.0.0.0:* 222/dhcpd raw 0 0 0.0.0.0:1 0.0.0.0:* 7 222/dhcpd
如上消息告诉你PID为698的进程是一个绑定在5280端口的Perl进程。如果你不是超级用户,系统将不会显示哪个程序是运行在哪个端口上的。
17:更快的硬件驱动难度:高级
应用程序:hdparm
也许你已经知道hkparm工具可以用于测试硬盘速度和更改一些设置。它还可以用于优化驱动性能,并且开启一些默认关闭的功能。在我们开始之前,敬告您,改变驱动选项可能会造成数据损坏,所以首先请备份你所有的重要数据。如下命令可以用来测试速度:
hdparm -Tt /dev/hda
你将会看到类似于这样的东西:
/dev/hda:
Timing buffer-cache reads: 128 MB in1.64 seconds =78.05 MB/secTiming buffered disk reads:64 MB in 18.56 seconds = 3.45MB/sec
现在我们可以尝试让它提速。找出你的驱动目前设置使用的是哪个选项,然后传递给hdparm这个硬件的名称:
hdparm /dev/hda /dev/hda: multcount=16 (on) I/O support=0 (default 16-bit) unmaskirq=0 (off) using_dma=0 (off) keepsettings =0 (off) readonly =0 (off) readahead=8 (on) geometry = 40395/16/63, sectors = 40718160, start = 0
这相当于一个默认设置。多数的Linux发行版本都会选择一个可以运行在多数硬件上的安全选项。为了获得更快的速度,你可能想要激活dma模式,然后当然要调整I/O支持。多数现代计算机支持模式3,这是一个近乎双倍通量的32位转换模式。你也可以尝试:
hdparm -c3 -d1/dev/hda
然后返回这个速度,查看一下不同。检验你的硬件支持哪些模式,然后可以在hdparm的man手册中学习如何设置它们。
18:在你手中的可用时间难度:高级
应用程序:Perl