航海日誌

宇宙暦: 00515.00 からときどき日記 zep

ssh や ftp の接続が遅い

ubuntusshd, ftpd を上げといて ssh, ftp で接続するとかなり待たされる事がありますが、 hosts に登録していないマシンからの場合に dns を回ってルックアップしているせいなのでいっそ止めてしまいましょう。
(FAQ話です。今さらですけれど書いてみました)

sshd の場合

本家翻訳のここに載っていますOpenSSH FAQ http://www.openssh.com/ja/faq.html#3.3

3.3 - ssh(1) が接続する、あるいはログインするのに時間がかかる。

ひじょうに長い遅延 (10秒以上) はふつうホストの名前解決によって ひきおこされます:

glibc のいくつかのバージョン (とくに Red Hat Linux 6.1 に付いている glibc) では、 ドメイン名から "IPv6 あるいは IPv4 の" アドレスを解決するのに時間がかかります。 この問題は、ssh_config 設定ファイルで AddressFamily inet を加えることでとりあえず解決することができます。
クライアント側あるいはサーバ側の DNS の参照に問題がある場合もあります。 クライアント側とサーバ側で nslookup コマンドを使って、お互いの名前と IP アドレスを 検索してみてください。さらに、クライアントの IP 名検索で返された名前をサーバ側で検索します。 sshd_config 設定ファイルに UseDNS no を加えることで ほとんどのサーバ側の DNS 検索を抑えることができます。

というわけでこのように追加しました。

sudo vi /etc/ssh/sshd_config

useDNS no

の一行を追加します。

proftpd の場合

sudo vi /etc/proftpd/proftpd.conf

UseReverseDNS off

の一行を追加します。

ASUS M2N-E で ubuntu の IOMMU Aperture をオフに

ちょっと古いASUS M2N-E(nForce550チップセットマザーボード)を使っているのですがメモリ4GBを積んでいるとこんなメッセージが出ています。
dmsgから抜粋

[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Node 0: aperture @ 100000000 size 32 MB
[    0.000000] Aperture beyond 4GB. Ignoring.
[    0.000000] Your BIOS doesn't leave a aperture memory hole
[    0.000000] Please enable the IOMMU option in the BIOS setup
[    0.000000] This costs you 64 MB of RAM
[    0.000000] Mapping aperture over 65536 KB of RAM @ 20000000
[    0.000000] PM: Registered nosave memory: 0000000020000000 - 0000000024000000
[    0.000000] Memory: 4050540k/5242880k available (5315k kernel code, 1050180k absent, 142160k reserved, 3018k data, 660k init)

BIOSにそのような設定はないので(ASUSのこの時期のM/Bは大体そうみたい)検索してみるとubuntu フォーラムなどにgurbブートオプションでiommu=noapertureを設定すればいいらしい事が分かります。
ubuntu 9.10 はgrub設定の場所が変わり/etc/default/grubにあります、その中のGRUB_CMDLINE_LINUXに追加します。

GRUB_CMDLINE_LINUX="iommu=noaperture"

これubuntu 8.04の頃から毎回設定している気がする(以前は/boot/grub.cfg辺りにあります)

仮想コンソール getty 2っでじゅうぶんですよ、再び。

仮想コンソールの tty(getty) は一つで500〜600KB使うので6っもいらないから2っに減らしました
(いや必要かもしれませんが)
今回の ubuntu 9.10 からevent.dが無くなりinitに変わったので以下のようにしました。
dpkg-reconfigure console-setupしてもいいけれど、エディタで直接このファイルの

/etc/default/console-setup

の中のtty[1-6]の6を2に変更

# Setup these consoles.  Most people do not need to change this.
#ACTIVE_CONSOLES="/dev/tty[1-6]"
ACTIVE_CONSOLES="/dev/tty[1-2]"

そしてこのファイルも編集

/etc/init/tty3.conf

の中の行を全部#コメントアウトする。

# tty3 - getty
#
# This service maintains a getty on tty3 from the point the system is
# started until it is shut down again.

#start on runlevel [23]
#stop on runlevel [!23]

#respawn
#exec /sbin/getty -8 38400 tty3

tty4,5,6についても同様に行い、再起動する。

/etc/init/tty4.conf
/etc/init/tty5.conf
/etc/init/tty6.conf


ubuntu 9.04や8.10の時のは以前書いたこちらをどうぞ。
二つで十分ですよ http://d.hatena.ne.jp/zep/20080407#1207672065