瀏覽模式: 普通 | 列表

當 iowait 時查看誰在存取硬碟

除了使用 fuser http://ssorc.tw/rewrite.php/read-596.html

從這裡 http://rackerhacker.com/2008/03/11/hunting-down-elusive-sources-of-iowait/

得知只要 echo 1 > /proc/sys/vm/block_dump

這個動作後,即可下 dmesg 查看到誰在讀寫硬碟

然後 dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head

可以統計數量出來

Quote: 已不知原始來源是那個了
 /proc/sys/vm/block_dump
該文件表示是否打開Block Debug模式,用于記錄所有的讀寫及Dirty Block寫回動作。
標籤: 硬碟

只要安裝 redhat-lsb
再下 lsb_release -a 即可
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: FedoraCore
Description:    Fedora Core release 6 (Zod)
Release:        6
Codename:       Zod

date指令,計算 timestamp

話說 timestamp 是從 00:00:00 1970-01-01 UTC 開始
所以當我們下
date +%s
可以得到從 00:00:00 1970-01-01 UTC 到現是經過了多少秒鐘
有些寫程式的習慣會用到這個算法存至資料庫
為何呢,因為
1。好算
2。unix有很多函數支援timestamp
3。某人建議

但聽高人說: 不見議這麼作,因為至 2038 年時又會像 y2k 那個爆掉,timestamp 只有 32 位元

另外
如何反算 1206090971 為 五  3月 21 17:16:27 CST 2008
就下
date -d "1970-01-01 UTC 1206090971 seconds"

後面也可以這麼作
date -d "1970-01-01 UTC 1206090971 seconds" +%F
就成了
2008-03-21


added - 2008/06/10

[閱讀全文]

Apache 模組 mod_access 限制管理存取連線

只設定 Order Allow, Deny 即拒絕全部,如有其它規則 Allow from all、Deny from all 等,會以 Allow 優先處理
而只設定 Order Deny, Allow 就相反過來,允許全部,如有其它規則 Allow from all、Deny from all 等,會以 Deny 優先處理

只允許 10.1.1.1 連線可設定為

  1. Order Allow,Deny
  2. Allow from 10.1.1.1

不可以這樣設,這樣就全部允許了
  1. Order Deny,Allow
  2. Allow from 10.1.1.1

不過加一條 Deny 上去即可,它會先讀 Deny 再讀 Allow
  1. Order Deny,Allow
  2. Allow from 10.1.1.1
  3. Deny from all

比較四種情況

[閱讀全文]

No space left on device 刪除不掉的程序

遇上一個很怪的問題
more /var/log/httpd/error_log

No space left on device: MutexCreate(/var/spool/mod_watch/SharedHash.lock) failed

這邊 http://www.cncms.com.cn/integ/7016.htm 所說的不是我的答案

因為查 block 及 inode 皆沒有 100% 已使用的 partition

在苦無解決辦法之下,只能先重開機

當然重開機之後問題就沒了

在這 http://blog.ixpub.net/html/18/9727518-54485.html 查到可能的解決方式
可用在下次 (maybe)

ipcs -s | grep apache    -查出 semaphore Arrays 的 semid
ipcrm -s semid               -刪除 semid

後來再尋找一下資訊,可能原因為inode 的使用量滿了,之後再發生可以用df -i 查看

參考

http://www.cncms.com.cn/integ/7016.htm

http://www.eygle.com/archives/2007/07/inode_no_space_lefton_device.html

標籤: 硬碟

printf 指令

cat /etc/passwd | awk 'BEGIN {FS=":"} $3 < 10 {print $1 " " $3}'
root     0
bin      1
daemon   2
adm      3
lp       4
sync     5
shutdown         6
halt     7
mail     8
news     9

printf "\n%10s %10s " `cat /etc/passwd | awk 'BEGIN {FS=":"} $3 < 10 {print $1 " " $3}'`

          root          0
            bin          1

[閱讀全文]

標籤: 指令

join指令


檔案1.txt

root:x:0:0:root:/root:/bin/bash

檔案2.txt

root:x:0:root

join -t ' ' -1 4 檔案1.txt -2 3 檔案2.txt

 root:x:0:0:root:/root:/bin/bash root:x:0:root

join -t ':' -1 4 檔案1.txt -2 3 檔案2.txt

0:root:x:0:root:/root:/bin/bash:root:x:root
標籤: 指令 join