前二天應朋友要求,
寫了一支用jQueryMobile架起來的手機版網站,
但在測試時,出現一個非常奇特的現像:
程式原始碼:
<a href="..." data-role="button">xxx</a>
點擊第一次時OK,點擊第二次時也OK,
結果點擊第三次時,網頁就掛在那邊,
停止回應了。
後來經過高人指點,將程式碼改為:
<a href="..." data-role="button" data-ajax="false">xxx</a>
就正常了,看起來原因是因為ajax引起,但詳細的原因不清楚,
不過改成這樣子就OK了。
2013年6月17日星期一
2013年6月11日星期二
MAC的SSD硬碟多磁區的noatime掛載
因緣際會買了一台MAC,是SSD的硬碟,
上網查了一下,很多人在教針對SSD優化(延長壽命)的處理,
其中有一個是noatime掛載。
noatime掛載的資料請自行上網搜尋,
網路上很多人在說,
但都沒有提到,如果有第二顆SSD或第二個磁區時,
要如何讓多個磁區都能noatime掛載。
找到最後都沒有現成的,所以最後只好去研究plist裡面的東西到底是怎麼一回事,
在這裡將研究成果寫一下:
我在/Library/LaunchDaemons底下有一個com.tcj.noatime.plist(名稱自訂)檔案,內容如下(紅字為我寫的說明):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>(不能變動,因為要給程式判斷用)
<string>com.tcj.noatime</string>(不能和其他plist的Label內容重覆,否則會無法執行)
<key>ProgramArguments</key>
<array>
<string>mount</string>
<string>-vuwo</string>
<string>noatime</string>
<string>/</string>(要掛載的路徑)
</array>
<key>RunAtLoad</key>
<true />
</dict>
</plist>
結論:
了解意思後,再來看如果有多個磁區(路徑)要使用noatime掛載的話,步驟如下:
1.使用不同的檔案(plist)
2.變更Label中的string(以上一例來說就是 com.tcj.noatime 這一串文字,跟檔案沒有關係喔)。
3.重新開機。
這樣就可以了,下方是我掛載二個磁區成功的範例:
/dev/disk0s2 on / (hfs, local, journaled, noatime)
/dev/disk0s4 on /Volumes/Data (hfs, local, journaled, noatime)
二個檔案的差別參考:
1.
檔案1:
<key>Label</key>(不能變動,因為要給程式判斷用)
<string>com.tcj.noatime</string>(不能和其他plist的Label內容重覆,否則會無法執行)
<string>/</string>(要掛載的路徑)
檔案2:
<key>Label</key>(不能變動,因為要給程式判斷用)
<string>com.tcjData.noatime</string>(不能和其他plist的Label內容重覆,否則會無法執行)
<string>/Volumes/Data</string>(要掛載的路徑)
參考資料
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html
订阅:
博文 (Atom)