分類
Windows

裝了windows 7 RC

今天心血來潮來裝了一下 windows 7 RC 的版本, 趕搭一下這個風潮, 之前都是裝在 VM 裡, 今天特別用了老電腦來裝, 所謂老電腦是筆者目前用的電腦的前一台, 原本是要用來當 server 的, 不過已經有兩台了, 所以就暫時 idle 在旁邊.

它的規格其實不差, 不過真的有點舊, 大約配備如下:
P4-2.6G
2G DDR RAM
SATA 80G
NVIDIA FX5700 Ultra 128MB
Gigabyte 8IK1100 主機板 (on board Intel VE NIC 掛了)
3Com 3c905c-TX (NIC)
Sound Blaster Live (on board 不想用)
大略是這樣的配備.

於是開始安裝, 記錄一下時間.
21:58 起開始安裝(開機光碟)
21:59 讀完後 start windows (感覺還蠻快進入 GUI)
開始進行真正安裝, 其中第二步驟最久, 大約是在 22:14左右第一次 reboot.
22:16 左右第二次 reboot. (想說看 20分鐘內能不能完成安裝, 正在期待時, 又再做第三次 reboot )
這次 reboot 就在準備第一次桌面了, 這樣看來應該是勉強算 21分鐘安裝完成, 而且進入 windows 7 了.

不過有趣的來了, 因為之前都安裝在 VM, 驅動程式沒什麼問題, 不過這次比較麻煩, 雖然說 windows 7 內建也不少 drivers, 不過這次安裝在實體主機上, 所以會有一些小問題, 看起來就是顯示卡, 3COM 網卡及 sound blaster live 音效卡未能順利被驅動, 於是先驅動網卡, 使用舊的 driver, 很順利可以被支援, 然後到 nvidia 的網站找 FX5700Ultra driver, 結果 5以下的沒有 windows 7 的 driver, 只好使用 vista 的 driver , 也很順利可用, 而且沒有問題, 不過音效卡就不想去驅動了, 因為也用不到.

接下來就是評比一下, 利用內建功能評分結果為 3.4, 果然還是敗在顯示卡, 如下:

不過其實 CPU 也好不到哪去, 但那個時期已經是很頂級的了(呃.. 硬體就是這樣啦), 不過話說回來, 要好好來試一下跑起來的順暢度, 使用者經驗等, 相信應該很不錯. (因為 Windows Flip 3D之前在 Vista 時, 同樣的環境, 真的不如 Windows 7 的狀況來得順, 看起來應該會好蠻多的)

另外還蠻好用的工具就是這個 “剪取工具” (附屬應用程式中的):

其實就是個截取畫面加可以加註圈選及螢光筆工具的小程式, 而且做得真的是又方便又順手, 對於要說明畫面的操作來說, 真的是很好用, 如下:

其中紅色是手繪圈選, 而螢光黃則是螢光筆功能, 很好用, 一定要去試看看.
——————————————–
[2009/5/17 23:38]
剛才發現這個剪貼工具, 原來是在 Vista 時就有了的, 現在才發現, 真的是太不好意思了. 因為比較常用的系統是 XP, 雖然也有 Vista, 但時間較少, 今天是因為要找個功能時, 進到附屬應用程式時, “赫然”發現, 原來在 Vista 內就已經有了.
——————————————–

另外還有計算機強化版:

神奇的手寫數學符號輸入工具:

整個就是方便, 很開心在 windows 7 內建的多項功能有這麼多方便工具及設計, 相信這會是一個很成功的版本.

分類
Windows

快速kill process的方式(Windows)

手邊剛好在處理一個大量 process 未結束於系統上的一個問題. 該 server 不知什麼原因, 在起動 cgi 程式時, 發生了這個現象, 偶發的不會自行結束, 於是在系統內就留下了許多該 process 的名稱. 利用 task manager 會看到大量的 process, 雖未佔用 cpu, 不過會吃掉一部分的記憶.

在不方便重開 server 的狀況下, 如何快速地將相同名稱的 process 一起刪除呢? 於是上網想查看看有沒有什麼方便的小工具可以做這件事. 結果很順利地找到系統內建的一個指令: taskkill

這個指令是給定要刪除的 pid 或 image name (就是執行檔名稱), 來進行 process kill 的動作. 簡單研究一下, 進行了測試, 效果相當不錯, 800多個 process 一下就刪完了, 使用的指令如下:

taskkill /IM mytest.exe /F

如此一來, 所有 mytest.exe 的 process 一口氣就被 kill 完成了.

另外有許多方便的參數可供使用, 詳情可以利用 taskkill /? 來取得說明, 列表如下:

TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

Description:
This tool is used to terminate tasks by process id (PID) or image name.

Parameter List:
/S system Specifies the remote system to connect to.

/U [domain\]user Specifies the user context under which the
command should execute.

/P [password] Specifies the password for the given user
context. Prompts for input if omitted.

/FI filter Applies a filter to select a set of tasks.
Allows “*” to be used. ex. imagename eq acme*

/PID processid Specifies the PID of the process to be terminated.
Use TaskList to get the PID.

/IM imagename Specifies the image name of the process
to be terminated. Wildcard ‘*’ can be used
to specify all tasks or image names.

/T Terminates the specified process and any
child processes which were started by it.

/F Specifies to forcefully terminate the process(es).

/? Displays this help message.

Filters:
Filter Name Valid Operators Valid Value(s)
———– ————— ————————-
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne Image name
PID eq, ne, gt, lt, ge, le PID value
SESSION eq, ne, gt, lt, ge, le Session number.
CPUTIME eq, ne, gt, lt, ge, le CPU time in the format
of hh:mm:ss.
hh – hours,
mm – minutes, ss – seconds
MEMUSAGE eq, ne, gt, lt, ge, le Memory usage in KB
USERNAME eq, ne User name in [domain\]user
format
MODULES eq, ne DLL name
SERVICES eq, ne Service name
WINDOWTITLE eq, ne Window title

NOTE
—-
1) Wildcard ‘*’ for /IM switch is accepted only when a filter is applied.
2) Termination of remote processes will always be done forcefully (/F).
3) “WINDOWTITLE” and “STATUS” filters are not considered when a remote
machine is specified.

Examples:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI “PID ge 1000” /FI “WINDOWTITLE ne untitle*”
TASKKILL /F /FI “USERNAME eq NT AUTHORITY\SYSTEM” /IM notepad.exe
TASKKILL /S system /U domain\username /FI “USERNAME ne NT*” /IM *
TASKKILL /S system /U username /P password /FI “IMAGENAME eq note*”

給大家參考!

參考資料: XP: kill a Windows process from the command line with taskkill

分類
Windows

好用netstat指令

在 windows 下使用 netstat 指令來查詢已開啟的 listen port (-a), 以及已建立的連線 (active connection) 是十分方便的工具. 不過若是要知道該 connection 或 listen port 是由哪個 process 建立的, 在 netstat 指令下是無法達成的, 必須藉由另一個 sysinternals (被 ms 併入了)的 tcpview 工具.

不過, 現在可以不用這麼麻煩了, netstat 工具已經增加了這個功能, 指令是 (-b), 例如:

netstat -nb

可 以找出目前建立 connection 的不解析名稱(即使用ip及port number, -n)的方式, 列出對應的執行檔名稱及 process id (PID), 如此一來, 對於要快速追蹤 active connection 及 listen port 的 process (或執行檔名) 可以更快速的利用指令來取得.

常用的方式如下:

netstat -na

netstat -nab

為什麼使用 -n, 因為可以不用反查 hostname, 直接顯示 ip, 速度較快啦.
另外使用 -b 的功能應該是要在 windows 2003 sp2 及以上, windows xp sp3, windows vista 以上才有.

分類
Windows

forfiles指令介紹

在 WINDOWS 下, 若是要將某些檔案做什麼處理的方式, 我通常使用 VBS 的 SCRIPT 來操作, 不過其實還有更方便簡捷的方法, 看到這篇文章 windows server下的檔案處理程式Forfiles , 原來其實在 windows 下還有個這麼方便的檔案列舉工具.

一般最常用的是刪除 log 檔案, 指定目錄, 並指令時間 (例如保留一週, 一週前的刪除), 就可以利用這個指令進行刪除:

forfiles /p c:\temp /s /m *.log /d -7 /c “cmd /c del @FILE”

或是列舉出指定目錄下的檔案(非目錄)的名稱列出:

forfiles /p c:\ /c “cmd /c if @isdir==FALSE echo @FILE”

請注意上面的 “FALSE” 要大寫!

再來看看微軟的官方說明: Forfiles

以下列出該指令的參數說明: (利用 forfiles /? 取得)

FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy/MM/dd | dd}]

描述:
選取一個檔案 (或一組檔案),並在檔案上
執行命令。這對批次工作很有幫助。

參數清單:
/P pathname 表示要開始搜尋的路徑。
預設資料夾是目前的
目錄 (.)。

/M searchmask 根據 searchmask 搜尋檔案。
預設的 searchmask 是 ‘*’。

/S 指示 forfiles 遞迴搜尋
子目錄。例如 “DIR /S”。

分類
Windows

windows vista sp1繁體中文出來囉

延遲已久的 vista sp1繁體中文版出來囉.

之前在 zdnet 上的消息, vista sp1 繁體中文版即將上市了, 參見: Vista SP1中文版五月釋出 相容性成賣點, 相較於英文版的 sp1, 的確讓大家等了好一陣子, 有在使用 vista 的用戶快去下載安裝囉!

官方連結如下:
KB936330:x64 系統的 Windows Vista Service Pack 1 All Language Standalone 版
KB936330:Windows Vista Service Pack 1 All Language Standalone 版 <-這是32bit版
Windows Vista Service Pack 1 All Language Standalone 版 CD ISO <-這是32bit版cd image
Windows Vista Service Pack 1 All Language Standalone 版 DVD ISO <-這是32和64bit的dvd image

快用看看吧!

另外順帶一提的, server 2008 的版本, 由於核心和 vista 是一樣的, 所以在發行時, 已是 with sp1 的狀況囉, 可以參考下面的截圖:

分類
Windows

IIS 7 BitRate Throttling 模組

在以往的 iis 限流功能上, 一直是以整個 web 站台的總流量來進行限流管理, 當然這也算是一種限流管理方式, 但在現今這種影音應用的環境下, 相信如何能有效應用頻寬並進一步來節省成本, 相信是很重要的課題.

以往要在 web server 上做流量管理, 最理想的方式是做 per connection 的限流, 這個功能在 iis 上並沒有提供, 不過在 apache 上有個 mod_bandwidth 模組可以做到, 他的原理就是進行單一 connection 的流量限制, 在這種狀況下, 就可以有效地管理每一個 connection 的流量, 簡單地說, 若是放在 web 上的影音內容, bitrate 是 300kbps 的話, 我們可以利用 mod_bandwidth 將流量限制在 330kbps左右, 讓這些影音內容能在邊下載邊看的速度下進行觀賞, 這樣最重要的是對 server 端能節省頻寬. 因為一般人也不見得會整個看完, 若是用很快的速度讓使用者下載, 事實上會蠻浪費頻寬的.

然而隨著在 iis 7 上提供 BitRate Throttling模組功能時, 這些狀況就會改觀了, 根據技術文件提到, 這個模組可以根據媒體檔案內容的 mime-type 及 bitrate header進行流量限制, 並提供了前面多少時間(幾秒)的快速下載, 之後根據 bitrate進行限流, 看起來彈性及功能遠比 apache 的 mod_bandwidth 模組有更大的彈性及好處.

實務上, 這將會是一個相當有效節省頻寬的一個管理方式, 這個部分相信對未來影音應用的普及下, 將會發揮更大的作用哦.

這篇介紹了如何偵測 bit-rate的方式及設置方式:
http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/

這篇介紹如何安裝這個模組:
http://learn.iis.net/page.aspx/147/bit-rate-throttling-setup-walkthrough/

這篇介紹如何設定及驗證:
http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/

其他相關閱讀:
http://blogs.iis.net/vsood/archive/2008/03/15/bit-rate-throttling-is-now-released.aspx
http://weblogs.asp.net/scottgu/archive/2008/03/18/iis-7-0-bit-rate-throttling-module-released.aspx
這篇有實作後的流量比較結果:
http://blogs.msdn.com/jijia/archive/2007/12/30/iis-7-0-bandwidth-throttling.aspx