2014年3月22日土曜日

PCのメモリの話

理由あってPCのメモリの使用量を調べてみた。
その時にタスクマネージャの見方をあらためて調べた。
わかったことをまとめる。
http://www.atmarkit.co.jp/ait/articles/0910/02/news098.html


この理解のために図を一枚

まずタスクマネージャの表示のうちメモリ関連は画面写真の四角で囲った部分

でまずは
メモリ空間全体①   =物理メモリ②+ページファイル③
物理メモリ②         =使用済み④+キャッシュ済み⑤+空き⑥
ページファイル③  =使用済み⑦+空き⑧

と分類されることに注意(キャッシュ済みは使用済みに含まれないらしい)
で、この物理メモリがRAMのことで
ページファイル(スワップファイル) がpagefile.sysのファイルのこと
私の場合 物理メモリ=4G
     pagefile.sys=4236M だった。
つまり②≒4096
    ③=4236

でまず赤枠の数値は式の④である。       2.44G= 2498M
         青枠の"合計"が式の②       4039M
                 (ちょっと4096と違うがこっちの方が正確な数値)
   青枠の"キャッシュ済み"が式の⑤ 1193M
   青枠の"空きメモリ"が式の⑥    357M
ここまでで確認してみる。④+⑤+⑥=2498+1193+357=4048≒②4039
となる。微妙に狂うのはBYTE単位でないためと考えることにしたい。
    なおここの"利用可能"とは
        利用可能=⑥+(⑤の一部)
    の意味 要するにキャッシュ済みのメモリの一部は
               他のアプリに使いまわせるということ
        だから⑥より大きく⑥+⑤よりは小さい。
これらのことを無理やり図にした
この青枠の表示がどう考えても"合計"= "キャッシュ済み"+"利用可能"+"空きメモリ"
なようにしか直感的に読めないがそうでないことに注意。


あとオレンジ枠についてカーネルのデータはページングできるものとできないものとに分けられる
カーネルのデータのうちどうでもいいものがページとなる。
        だから
        ページ=⑦の一部
        非ページ=④の一部

最後に緑の枠のコミットは(④+⑦)/①の意味
      確かめてみる。スワップエリアサイズ③=メモリ全体①ー物理メモリ②
                      =8077-4039=4038
                                        で、これはpegefile.sys=4236より若干小さい。
          これは多分フルのファイルサイズまでスワップエリアに確保してないから?
      さらに実際にスワップされているページファイルのサイズは=4270-2498=1772
      となる。結構大量にスワップされていた。


ここで最後の疑問が出る。
 ページファイルすなわちスワップとは物理メモリが足りないときにとられるはずなのになぜ
 メモリに空きがあってもスワップがかかっているのか?

これについては
http://nyaruru.hatenablog.com/entry/20071010/p1
 ここに詳しい。
要するに視聴頻度の低いメモリデータをOSが判断してスワップしてメモリを開けているってこと
あとメモリが断片化して連続して取れなくなっている可能性もあるし。
この判断は結構ザクザクやられているようです。

なおこれはLinuxでも同じ。ということはたぶんMACも同じ。
この場合スワップがファイルでなくエリアとなる。
http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html

ってことで昔からある問題
「メモリが充分あるマシンではスワップはいらないのか?」
の答えがでた。
「メモリが充分あるマシンでもスワップは必要」
なぜなら
①スワップがないとメモリが断片化して大量のメモリを一気に取れないときできなくなるおそれがある。
②そもそもメモリデータが退避できないとやはり 大量のメモリを一気に取れない。

大量にメモリを使ったりすることは絶対にないと言えるならそもそもメモリを大量に積む必要がない。

結論としてメモリが余っててもスワップは使うから用意しとけってことなのだった。

参加してみた
インターネット・コンピュータ ブログランキングへ            

2014年3月21日金曜日

ubuntu でsilverlightをみるソフトpipelight を入れてみる

書く価値があるのかどうかわからんがMSがflashに対抗して作った仕様に
silverlightってのがある。
http://www.microsoft.com/ja-jp/silverlight/default.aspx
↑これ

このsilverlightだがずっとubuntuで再生するにはmoonlightを
インストールってのが相場だった
実際ubuntuで上のサイトのダウンロードを選んでもそこに飛ばされる。
http://mono-project.com/Moonlight
が、現在そこには何もない。

Moonlight is an open source implementation of Silverlight, primarily for Linux and other Unix/X11 based operating systems. The last Moonlight release (Moonlight 4 Preview 1) provides support for most features of Silverlight 3, as well as compatibility with Silverlight 4. The Mono project does not provide binary downloads for Moonlight; however, packages for most Linux distributions can be found online, either in official distro package repositories, or provided by popular third-party repositories.

と書いてあるのみ。
ここではバイナリパッケージをダウンロードできないけど ほとんどのLinuxディストリならオンラインとか公式、サードパーティのリポジトリで見つかる。
と書いてある。

がubuntu用のmoonlightは私の探し方がわるいのか全く見つけられない。
どうもubuntuはもはや”most Linux distributions ”ではないらしい。

じゃあどうすればいいのかってことなのだが実はこれとは別に再生ソフトがあるのを
昨日知った。pipelight というらしいです。
http://ubuntuhandbook.org/index.php/2013/12/pipelight-silverlight-in-linux-ubuntu-ppa/
今回の情報元はこれ

入れ方は端末から
sudo add-apt-repository ppa:pipelight/stable
のあと
sudo apt-get update; sudo apt-get install pipelight
でインストール

最後にこういう怪しげな記述が出る 
The following modules require a license confirmation before they can be enabled: [*] Microsoft Silverlight 5.1 By continuing the installation you agree that you've read and accepted the MICROSOFT SOFTWARE LICENSE TERMS: http://go.microsoft.com/fwlink/?LinkId=229303 Microsoft Silverlight Privacy Statement: http://go.microsoft.com/fwlink/?LinkId=229306 To find out more click here: http://www.microsoft.com/silverlight/ [*] mpg2splt.ax This library is part of the Microsoft DirectX End-User Runtime. By continuing the installation you agree that you've read and accepted the Microsoft Software License Terms. You can find them in /usr/share/pipelight/licenses/license-mpg2splt.txt To find out more click here: http://www.microsoft.com/en-us/download/details.aspx?id=35 The following modules are marked as optional dependencies: [*] wininet.dll [OPTIONAL] This wininet.dll library is a debug version provided for the Microsoft Internet Explorer. By continuing the installation you agree that you've read and accepted the license terms. You can find them in /usr/share/pipelight/licenses/license-wininet.txt To find out more click here: http://www.microsoft.com/en-us/download/details.aspx?id=11434 To agree to this license run (for each user who wants to use this module): touch $HOME/.config/wine-wininet-installer.accept-license Plugin silverlight5.1 is now enabled

よくわからんがwineと協調して動くものらしい。
仕方ないので
touch $HOME/.config/wine-wininet-installer.accept-license

をしたあとでfirefoxを起動すると見たこともないような初期化ルーチンがしばらく動く。
その後見えるようになった
動作確認は
ここの動画が見えるとOKということらしい。
とりあえずこんな感じで。
 
ここで強調したいのはDRM(著作権保護)があるものも再生するということ
これがmoonlightとのもっとも重要な違い。
ある種の動画を集めているひとにはたまらん情報だろう。
この違いはpipelightが内部にsilverlightを取り込んでいることから来ている。
またwindow media player 10がwine で使えることも考えると
DRM(デジタル著作権)動画がLinuxで見れないってのは
過去の話になりつつあるのかもしれない