トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS


Link

ブートローダー

Disk管理

Network関連

Kernel

プロセス管理

  • nice/renice
    優先度の範囲は-20(優先度最高)から19(優先度最低)までである。
    優先度を上げるにはroot権限が必要。
    • 優先度を指定してコマンドを実行する
      # nice -n 優先度 実行コマンド
    • 実行中のプロセスの優先度を変更する
      # renice 優先度 -p プロセスID
    • プロセスの優先度を確認する
      psコマンドの「l」オプションでNICE値が表示される。
      # ps alx
      F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
      4     0     1     0  20   0   1496   480 -      Ss   ?          0:00 init [3]
      5     0     2     0  15  -5      0     0 -      S<   ?          0:00 [kthreadd]
      1     0     3     2  15  -5      0     0 -      S<   ?          0:10 [ksoftirqd/0]
      1     0     4     2  15  -5      0     0 -      S<   ?          0:48 [events/0]
      1     0     5     2  15  -5      0     0 -      S<   ?          0:00 [khelper]
      1     0   100     2  15  -5      0     0 -      S<   ?          0:01 [kblockd/0]

チューニング

  • 最大プロセス数
    Linuxにおける最大プロセス数の考え方は、プロセス数+スレッド数。また、glibcに関連する場合の最大スレッド数はPTHREAD_THREADS_MAXの定義を確認。
    /proc/sys/kernel/threads-max
  • メモリオーバーコミット(Kernel 2.6 uppper)
    メモリが逼迫した状況でも、memory overcommit によるプロセスの突然死を起こしたくな い状況ではproc/sys/vm/overcommit_memory を "2" にし、
    かつ overcommit_ratio を調整して "malloc_limit"値 が物理メモリ量を超えないようにすれば良い
    malloc_limit[MB]= swap領域のサイズ[MB] + (物理メモリ量[MB] * overcommit_ratio / 100)
     
    # sysctl -w vm.overcommit_ratio=99
    # sysctl -w vm.overcommit_memory=2
  • lowメモリ領域
    > cat /proc/sys/vm/lowmem_reserve_ratio
    256     256     32
  • Oracle
    OracleをLinux上で稼働させる場合、Kernelのチューニングを行う必要がある。
    kernel.sysrq
    kernel.shmmax
    kernel.sem
    kernel.msgmax
    kernel.msgmni
    kernel.threads-max
    kernel.shmmni
    kernel.msgmnb
    fs.file-max
    net.ipv4.ip_local_port_range
    http://www.oracle.co.jp/2shin/no86/o35linux.html
  • CPUSpeed
    http://www.carlthompson.net/Software/CPUSpeed
    CPUspeedで選択できるクロック数を確認する方法
    % cat //sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    1600000 1400000 1200000 1000000 800000 600000

ユーザーID管理のメモ

# chage
Usage: chage [-l] [-m min_days] [-M max_days] [-W warn]
       [-I inactive] [-E expire] [-d last_day] user
# usermod
使用法: usermod [-u ユーザID [-o]] [-g グループ] [-G グループ,...]
               [-d ホーム [-m]] [-s シェル] [-c コメント] [-l 新規ユーザ名]
               [-f 無効日数] [-e 期限切れ日 ] [-p パスワード] [-L|-U] ユーザ名
  • /etc/shadowファイルのフォーマット
    username:passwd:last:may:must:warn:expire:disable:reserved
    usernamepasswdlastmaymustwarnexpiredisablereserved
    ユーザ名エンコードされたパスワード1970年1月1日から、パスワードが最後に更新された日までの日数何日前にパスワードが変更されたと思われるかパスワードを変更しなければならない期限パスワードの期限切れの何日前にユーザに警告するかパスワード期限切れの何日後にアカウントを抹消するか1970年1月1日から、アカウントが抹消された日までの日数予約フィールド
  • ロック
    • 状況表示
      # faillog -u username
    • ロックの解除
      # faillog -r username
  • rootユーザーのログインコンソール制限
    /etc/securettyに記載されたコンソールのみrootユーザーはログイン可能である。
    #
    # This file contains the device names of tty lines (one per line,
    # without leading /dev/) on which root is allowed to login.
    #
    tty1
    tty2
    tty3
    tty4
    tty5
    tty6
    # for devfs:
    vc/1
    vc/2
    vc/3
    vc/4
    vc/5
    vc/6
    ttyS0
    ttyS1

Timezoneの変更

/etc/localtimeファイルによってデフォルトのタイムゾーンが設定される。localtimeファイルを置き換えることでタイムゾーンの変更が可能である。

# mv /etc/localtime /etc/localtime.est
# cp -ip /usr/share/zoneinfo/Japan /etc/localtime

最後に/etc/sysconfig/clock を修正する。

ZONE="Asia/Tokyo"

RPM

RPMのエラー

  • キャッシュファイルが損傷した
    # apt-get update 
    取得:1 http://updates.vinelinux.org 4.1/i386 release [2254B]
    2254B を 0s 秒で取得しました (15.4kB/s) 
    取得:1 http://updates.vinelinux.org 4.1/i386/main pkglist [286kB]
    取得:2 http://updates.vinelinux.org 4.1/i386/main release [158B]
    取得:3 http://updates.vinelinux.org 4.1/i386/plus pkglist [484kB]
    取得:4 http://updates.vinelinux.org 4.1/i386/plus release [166B]
    取得:5 http://updates.vinelinux.org 4.1/i386/updates pkglist [47.0kB]
    取得:6 http://updates.vinelinux.org 4.1/i386/updates release [169B]
    取得:7 http://updates.vinelinux.org 4.1/i386/nonfree pkglist [5713B]
    取得:8 http://updates.vinelinux.org 4.1/i386/nonfree release [169B]
    取得:9 http://updates.vinelinux.org 4.1/i386/main srclist [121kB]
    取得:10 http://updates.vinelinux.org 4.1/i386/plus srclist [199kB]
    取得:11 http://updates.vinelinux.org 4.1/i386/updates srclist [10.4kB]
    取得:12 http://updates.vinelinux.org 4.1/i386/nonfree srclist [10.1kB]
    1164kB を 2s 秒で取得しました (389kB/s)
    セグメンテーション違反ですでいます... 0%
    対応-キャッシュファイルを削除する。
    # mv /var/cache/apt/pkgcache.bin /tmp/
    # mv /var/cache/apt/srcpkgcache.bin /tmp/
  • RPM DBが損傷した
    表示されるメッセージ例
    rpmdb: PANIC: fatal region error detected; run recovery
    error: db4 error(-30977) from db->get: DB_RUNRECOVERY: Fatal error, run database recovery
    対応
    # mv /var/lib/rpm/__db.001 /tmp
    # mv /var/lib/rpm/__db.002 /tmp
    # mv /var/lib/rpm/__db.003 /tmp
    # rpm --rebuilddb

RPMオプション

  • PRMからインストールされるファイル一覧を表示する
    # rpm -qlpi パッケージ名.rpm

Tips

  • HDDのパーティションにラベルを付ける
    # e2label /dev/hdaxx /labelname
  • RAM tmpファイルシステムを使う
    ファイルシステムタイプ tmpfsはメモリ上に展開される。/dev/shmにマウントされる。
    実際にファイルI/Oに使うには下記のようにマウントする。(/tmpに32MB RAM上から割り当てられる)
    サイズ指定しない場合は実メモリの半分が割り当てられる。
    # mount -t tmpfs -o size=32m tmpfs /tmp
    /etc/fstabにも記述可能。
    /dev/shm             /tmp                    tmpfs    defaults,size=64m        0 0
  • シリアルコンソール化
    • inittabの追記
      co:2345:respawn:/sbin/agetty -h 115200 ttyS0 vt100
    • liloの修正
      カーネル指定のappendオプションに次を追加
      console=tty0 console=ttyS0,115200
    • kuduzuの更新停止
      # vi /etc/sysconfig/kudzu
      SAFE=yes
    • シリアルコンソールのログイン許可
      /etc/securettyにttyS0を追加
      http://www.shoshin.co.jp/c/lsi/scs/faqlinux.html

Counter: 8258, today: 3, yesterday: 0