
我不知道為什麼,但在我的運行 lion 的 Macbook Pro 上,當我對正在寫入的日誌檔案發出“tail -f”時,更新速度很慢。我過去在上一家公司一直使用這個命令,但那通常是在 Linux 機器上。我能想到的唯一可能會減慢更新速度的是輸出緩衝和/或 Mac 與 Linux 上的更新間隔不同。我嘗試過幾個命令,所有這些命令都相對較快地寫入粗壯的數據,但對 tail 命令的更新速度較慢。有任何想法嗎?
更新 我只是運行一個包含一堆列印內容的 python 腳本,然後重定向到檔案 vi "> my output.log"。我希望看到近乎即時的更新,但情況似乎並非如此。
答案1
系統期望檔案系統比坐在控制台上的普通使用者有更多的耐心,並且正在緩衝不發送到終端的輸出。此外,終端機比檔案系統更適合處理輸入行,檔案系統始終與區塊一起使用。每行後刷新結果都會影響效能,但這對您的用例來說可能不是問題。
若要關閉緩衝,您可以使用expect套件執行腳本python -u SCRIPT
或使用unbuffer
expect套件(可能不適用於Mac)。