ひとりごと

新しい記事:[2121]  古い記事:[2119] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2007/12/30 (日)

・ 4GBの壁

先日マクロス劇場版がテレビでやってたんです。だからiPodで見ようとおもって録画したんです。うちの録画システムでは録画すると勝手にiPod用に変換されるのですが、iPodに転送してみると先頭から数分で終わっちゃうんです。

はて?

ファイルコピーのところがなんか怪しかったので動作検証してみました。

[filecopy.php]
#!/usr/local/bin/php
<?php
        copy ('zero.dat','zero2.dat');
?>
[コマンドラインから実行]
% dd if=/dev/zero of=zero.dat bs=64k count=65537 ←4GB+1カウント
65537+0 records in
65537+0 records out
4295032832 bytes transferred in 109.319008 secs (39288985 bytes/sec)
% php filecopy.php

% ls -l
-rw-r--r--  1 takatani  wheel          63 Dec 30 18:14 filecopy.php
-rw-r--r--  1 takatani  wheel  4295032832 Dec 30 18:20 zero.dat
-rw-r--r--  1 takatani  wheel       65536 Dec 30 18:21 zero2.dat

このPHPプログラムは一瞬で終了して、実行結果は65536バイトしかコピーされません(笑)。FreeBSDではファイルシステムからして4GBなんてとこに制限があるとは思いませんでしたが、PHPでは気をつけないといけないんですね。いままでそんなに長い番組を録画したことがなかったのでぜんぜん気づきませんでしたよ。

# 結局 /bin/cp を呼び出すことで対処しました
[つっこみ]

新しい記事:[2121]  古い記事:[2119] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)