Android 關閉通知音效

Android 會突然發出個聲音, 來通知說有新信 ... 等等的訊息.

不過, 我的使用有遇到下述幾種狀況:

  • 通知聲音 很難聽 (可以換聲音, 但是我懶得去試哪個聲音好聽)
  • 信件太多, 如果每次叫都去看, 會叫個不停
  • 通常信件都不是急件, 不需要即時通知 (急件都直接打電話了)

閱讀全文〈Android 關閉通知音效〉

Memcached 預設 單筆資料儲存最大容量為 1M

Memcached 是業界非常常用到的 cache system, 儲存格式是 key-value.

官方網站: Memcached: Free & open source, high-performance, distributed memory object caching system.

註:查看設定可用:$ echo "stats settings" | nc localhost 11211 # 看目前在跑得設定值

但是 Memcached 要知道的兩點:

  1. Ram 要夠大, 因為 Memcached 的資料都塞在 Ram 裡面, Ram 不夠大, 新的資料就寫不進去.
  2. Memcached 預設 單筆 資料儲存最大容量是 1M byte, 詳見 FAQ. (下述轉載此問題的問答)

    Q: What is the maximum data size you can store? (1 megabyte)

    • The maximum size of a value you can store in memcached is 1 megabyte. If your data is larger, consider clientside compression or splitting the value up into multiple keys.

為何是 1M, 是否可以增加, FAQ 也有答案:

  • Memcached 最小值是 400 bytes, 最大值是 1M byte.
  • 如果要超過 1M 也可以, 只是需要重新 compile memcached, 並且去修改 POWER_BLOCK 的值 或 使用 inefficient malloc/free 當 backend.

下述轉載此問題的問答:

Q: Why are items limited to 1 megabyte in size?

  • Ahh, this is a popular question!
  • Short answer: Because of how the memory allocator's algorithm works.
  • Long answer: Memcached's memory storage engine (which will be pluggable/adjusted in the future...), uses a slabs approach to memory management. Memory is broken up into slabs chunks of varying sizes, starting at a minimum number and ascending by a factorial up to the largest possible value.
  • Say the minimum value is 400 bytes, and the maximum value is 1 megabyte, and the factorial is 1.20:
  • slab 1 - 400 bytes slab 2 - 480 bytes slab 3 - 576 bytes ... etc.
  • The larger the slab, the more of a gap there is between it and the previous slab. So the larger the maximum value the less efficient the memory storage is. Memcached also has to pre-allocate some memory for every slab that exists, so setting a smaller factorial with a larger max value will require even more overhead.
  • There're other reason why you wouldn't want to do that... If we're talking about a web page and you're attempting to store/load values that large, you're probably doing something wrong. At that size it'll take a noticeable amount of time to load and unpack the data structure into memory, and your site will likely not perform very well.
  • If you really do want to store items larger than 1MB, you can recompile memcached with an edited slabs.c:POWER_BLOCK value, or use the inefficient malloc/free backend. Other suggestions include a database, MogileFS, etc.

註:2015/8 更新:Memcached 可以用 -I 5m 調整最大值。-I 5m 就是設定最大可以塞 5M 的資料。

相關網頁

CSS3 PIE - 讓 IE 支援 CSS3 的圓角、陰影、漸層等變化

CSS3 的特性讓開發者都很方便, 可以省去很多沒用的 HTML, 也可以省掉不少切圖的工.

問題是, 現在最多人使用的瀏覽器(IE6~IE8)都還不支援 CSS3. 詳見: CSS Compatibility and Internet Explorer

註: IE8 部份支援 CSS3

閱讀全文〈CSS3 PIE - 讓 IE 支援 CSS3 的圓角、陰影、漸層等變化〉

Debian Linux 網路卡出現 freeing mc frame 修復

Debian Linux 的 eth1 突然無法連線, 看到非常多下述的錯誤訊息.

  • $ less messages

    Jul  8 16:07:14 www kernel: [6733983.495791] eth1: Transmit timed out: status 0050  0c00 at 171340519/171340579 command 00000000.
    Jul  8 16:09:08 www kernel: [6734104.356349] NETDEV WATCHDOG: eth1: transmit timed out
    Jul  8 16:09:08 www kernel: [6734104.356358] eth1: Transmit timed out: status 0050  0c00 at 171340582/171340642 command 00000000.
    Jul  8 16:11:02 www kernel: [6734224.820435] NETDEV WATCHDOG: eth1: transmit timed out

  • $ less syslog

    Jul  9 01:08:40 www kernel: [  302.391087] eth1: freeing mc frame.
    Jul  9 01:08:40 www kernel: [  302.391089] eth1: freeing mc frame.

閱讀全文〈Debian Linux 網路卡出現 freeing mc frame 修復〉