USBメモリの取り出し時の時間

USBメモリへファイルをコピーした後,取り出すときに異常に時間がかかります。アクセスし続けているので,片付けることができないのです。これはおそらく不可視ファイルを作成しているのだと推測できるのですが(Spotlightのためのファイル?),これらを作成しないようにできないものでしょうか?USBメモリはWindows系PCとのデータやり取りで使っていますが,Windowsの方では直ぐに取り出し可能な状態になります。Macでもとにかく取り出し時の時間を短縮したいのです。よろしくお願いします。

投稿日 2009/07/31 05:12

返信
返信: 40

2009/08/01 18:38 しい坊 への返信

ども,ご回答,ありがとうございます。


CD や DVD は書き込みできないメディアなので、それはないだろうと思っていますが...。


私の場合,USBメモリだけです。


ちなみに、外付けハードディスク(複数のディスクおよび複数のパーティション)や光学ディスク、UISB メモリなどを装着した状態で文書作成などをしていて、それを新規保存しようとしたり、別名保存しようとすると、ファイル保存のダイアログボックスが開きますが、実際にそこにファイル名を書き込んだり(書き換えたり)、保温先フォルダを指定したりできるようになるまで結構時間が掛かります。内蔵ハードディスクがフル回転し始めるのも感じます。「ああ、ファイル保存のダイアログボックスが開くと、保存先を指定できるようにするため、最新のディレクトリ情報をいちいち収集しているんだな...」と理解しています。ここら辺の Mac OS X の“完璧主義”が時間を取らせているのではないかと言うのが私の想像です。その点、Windows の動作の方がキビキビして感じられるのは、あちらは“ゼロ戦”の思想で、とりあえず命令通りに“突撃”してみる。そのフォルダが実在するかどうかは事前に確認しない。よって動作が速い。通常はそのフォルダは存在するので、すぐ保存先が表示されるわけですが、存在しないフォルダに保存しようとすると、その時点で「ば〜か、そんな場所ねえよ!」(実際はもうちょっと上品な表現ですが (^◇^;))と警告が出るのでは? やはり OS の設計思想の違いかと...。ただ、時々、それがやり過ぎに暴走してしまう時があるのでは? バグとまでは言い切れないけれども、ちょっと“お***”なプログラミングで。


それは理解できますし,わたしとしても完全主義の方を選びます。しかし,完全主義に伴うトレードオフの限界を超えているような時間待たされます。例えばUSBメモリにコピーしますよね。すると,コピーの進捗状況を示すバーが出ますよね。しばらくするとコピーを終え,バーが消えます。そこからが長くて,ひたすらUSBメモリにアクセスが続き,アクセスランプ(LED)が点滅,点灯を繰り返します。この状態で強引に片付けるとOSからおこられるわけです。コピーの時間よりも遥かに長い時間待たされます。急いでいるときに限って,待たされる... (^^;

2009/08/01 18:41 ni_ki への返信

ni_ki さんによる書き込み:


私の所だとRetrospect6.1と言うバックアップアプリが、一度開いたファイルを手放さないようで、よく「ファイルが使用中なので取り出せません」の表示が出ます。


私も以前から Retrospect を使っていました。現在のバージョンは「EMC Retrospect 8 for Macintosh」にしてあります。先日、これにアップグレードしたのですが、それまでの Retrospect は直感的に使えたのですが(Mac OS 9 的なユーザーインターフェース)、今度のは、見た目は以下にも Mac OS X 的になったように見えるのですが、何をどうしたら良いのか、さっぱりわからなくなってしまいました (^〜^;)。



なんとOpenしているファイルを削除しても、手放さない強情なアプリです^^;

こうなると「ファイルをOpenしている」ではなく「Openしていると思っている」と表現した方が適切と思われる状況です。


私にはそういうアプリが多過ぎるような気がします。「ディスクユーティリティ」でもボリュームがアンマウントできないときはよくありますし、「DVD プレーヤー」でも、他のアプリケーションでもよくあります。ですから、例えば「Retrospect」がファイルを手放さないのは、実は、アプリにそう勘違いさせている OS の問題なのではないかと考えています。要するに OS 側がアプリに「そのファイルはまだ***が使ってるよ」と騙しているわけでしょう?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/08/01 18:52 mos への返信

mos さんによる書き込み:


ども,ご回答,ありがとうございます。


CD や DVD は書き込みできないメディアなので、それはないだろうと思っていますが...。


私の場合,USBメモリだけです。


はい。ご質問されたのが USB メモリだけだと言うのは存じているのですが、他の書き込み不能メディアでも同様にアンマウントに異常に時間が掛かる時があるので、恐らく根は同じなのではないかと考えていると言うことです。その動作は何らかの書き込み作業も伴うものなのかも知れません。



ちなみに、外付けハードディスク(複数のディスクおよび複数のパーティション)や光学ディスク、UISB メモリなどを装着した状態で文書作成などをしていて、それを新規保存しようとしたり、別名保存しようとすると、ファイル保存のダイアログボックスが開きますが、実際にそこにファイル名を書き込んだり(書き換えたり)、保温先フォルダを指定したりできるようになるまで結構時間が掛かります。[...] やはり OS の設計思想の違いかと...。ただ、時々、それがやり過ぎに暴走してしまう時があるのでは? バグとまでは言い切れないけれども、ちょっと“お***”なプログラミングで。


それは理解できますし,わたしとしても完全主義の方を選びます。しかし,完全主義に伴うトレードオフの限界を超えているような時間待たされます。


Mac OS って、漢字 Talk の時代から、ずっと、そのトレードオフの限界を超えてきていたような気がします (^◇^;)。


例えばUSBメモリにコピーしますよね。すると,コピーの進捗状況を示すバーが出ますよね。しばらくするとコピーを終え,バーが消えます。そこからが長くて,ひたすらUSBメモリにアクセスが続き,アクセスランプ(LED)が点滅,点灯を繰り返します。この状態で強引に片付けるとOSからおこられるわけです。コピーの時間よりも遥かに長い時間待たされます。急いでいるときに限って,待たされる... (^^;


職場や会合などで「あなたの持っている〜のファイルいただけませんか?」と請われて(もうすぐ飛び出さなければいけない、時間がないときに)「じゃあ、USB メモリ、ある?」と言って、相手が持っていた場合に、それを自分の 17" MacBook Pro に差し込み、ファイルのコピーをします。コピーは終ったはずなのに(そしてもう次の予定に遅れそうなのに!)、いつまで経っても取り出せないということは時々あります (_〃_;)。ギリギリまで待って、どうしようもない時には引っこ抜いちゃいますけどね (^"^;)。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/08/01 19:11 しい坊 への返信

職場や会合などで「あなたの持っている〜のファイルいただけませんか?」と請われて(もうすぐ飛び出さなければいけない、時間がないときに)「じゃあ、USB メモリ、ある?」と言って、相手が持っていた場合に、それを自分の 17" MacBook Pro に差し込み、ファイルのコピーをします。コピーは終ったはずなのに(そしてもう次の予定に遅れそうなのに!)、いつまで経っても取り出せないということは時々あります (_〃_;)。ギリギリまで待って、どうしようもない時には引っこ抜いちゃいますけどね (^"^;)。



まったく同じ状況!何回もあります。会議に遅れて,すみません.... こいつがMacがいうこと聞いてくれなくって... (^^;

「そういうマイナーな機器を使うからだよっ!」ていわれて,むっ!とする日々を送っています。

2009/08/02 04:55 mos への返信

mos さんへ

Retrospectの件ですが、Mac起動後一度も使用(スクリプトも含め)していなければ、ファイルを手放していないことは、今のところ有りません。勘違いさせてしまったようで、申し訳ありません。アンインストールしても改善しないと思います。


しい坊 さんへ

RetrospectのファイルOpenのご指摘、ごもっともです。確かにOSX側が、(Openファイルを手放させない)そうさせているのかも知れません。


で、お二人に試してみていただきたいのですが、当該現象が発生したときに、ターミナルで

sudo lsof [対象ボリューム]

を実行した際に、mdsとfseventsd以外のOpenファイルが表示されるでしょうか?


表示されるのであれば、そのファイルの名前から、犯人が割り出せます。

表示されないのであれば、犯人はOSXです。(まあ、いずれにせよ再起動した方が早いような気がしますが。)

2009/08/02 07:07 mos への返信

mos による書き込み:



例えばUSBメモリにコピーしますよね。すると,コピーの進捗状況を示すバーが出ますよね。しばらくするとコピーを終え,バーが消えます。そこからが長くて,ひたすらUSBメモリにアクセスが続き,アクセスランプ(LED)が点滅,点灯を繰り返します。この状態で強引に片付けるとOSからおこられるわけです。


基本的に、コンピュータにとって、ディスク入出力は極めて遅く、これがCPU処理を遅くさせています。

ディスクは、典型的にはハードディスクであり、USBメモリも含まれます。

あと、USBメモリはハードディスクに比べ書き込みが非常に遅いです。最近のSSDでようやく、HDD並になったでしょうか。


コンピュータは、ディスク入出力の遅さをカバーするために、メインメモリのバッファに書き込んだ状態でディスクに書き込んだことにして、処理を進めるようになりました。このとき、ディスクには何も書かれていませんし、ファイル管理情報も更新されていません。


このまま放置するわけにはいかないので、適当なタイミングで、そして、アンマウント時に、バッファ上の全データをディスクに書き込み、管理情報を更新します(これをフラッシュといいます)。これが、アンマウント時の主要な処理になります。

これが、アンマウントを適切に実行しない場合に、ファイルが無かったり、読み出せなくなったり、壊れる理由です。


Macはファイルのアイコン表示位置などを記憶するファイルを.DS_Storeを、開いた各フォルダに書き込みます。これも、最初の接続後のアンマウントに要する時間を長くしちゃいますね。アイコンデータも記憶したかどうかは忘れました。


USBメモリは、FATでフォーマットされているでしょうから、尚更、遅くなるでしょうね。


フラッシュメモリは、データ更新のサイズが極度に大きいのと、書き換え可能回数の制限を無視できないことから、可能な限り多くのデータを一度に書き込むようにすべきですが、これを行おうとすると、バッファにキャッシュしておくデータが増え、フラッシュに要する時間が長くなります。OSXがこの点を考慮しているかどうかは不明です。


以上はごくごく基本的な動作説明で、OSXの内部ではより複雑な処理(したがって、時間がかかる)になっていると思います。

2009/08/02 07:25 xy への返信

xy さんによる書き込み:


コンピュータは、ディスク入出力の遅さをカバーするために、メインメモリのバッファに書き込んだ状態でディスクに書き込んだことにして、処理を進めるようになりました。このとき、ディスクには何も書かれていませんし、ファイル管理情報も更新されていません。


このまま放置するわけにはいかないので、適当なタイミングで、そして、アンマウント時に、バッファ上の全データをディスクに書き込み、管理情報を更新します(これをフラッシュといいます)。これが、アンマウント時の主要な処理になります。

これが、アンマウントを適切に実行しない場合に、ファイルが無かったり、読み出せなくなったり、壊れる理由です。


おっ、おっ、おっ、おっ! そうだったんだ! 物すごく勉強になりました!


恐らく同じことはディスクへの書き込みの時だけではなく、Finder の情報などの書き込みの場合も似たことをやっているのでしょうね。Eudora 等が受信途中で落ちると、再起動後、確かに受信したメールが消えていて、再度新着メールとして受信されるのも同じ仕組みの問題ですよね?


Mac OS 9 までは、ファイルが失われると恐いので、作成中に頻繁に {⌘-S} を押して保存していました。Finder 上でも、確かにそのファイルが保存されていることも、そのファイルのタイムスタンプも確認して安心していると、そこに「爆弾」! マックがフリーズしたので、しかたなく再起動。すると、先ほど、確かに何度も途中で保存を(例えば10分おきに)繰り返していたはずのファイルが、数時間前の状態であったり、あるいは影も形もなかったりするのも、同じバッファの問題があったからなのですね?


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.5.7 (Build 9J61) [Leopard]

2009/08/02 07:38 しい坊 への返信

しい坊 による書き込み:



恐らく同じことはディスクへの書き込みの時だけではなく、Finder の情報などの書き込みの場合も似たことをやっているのでしょうね。Eudora 等が受信途中で落ちると、再起動後、確かに受信したメールが消えていて、再度新着メールとして受信されるのも同じ仕組みの問題ですよね?

似たようなもんですね。

更に、アプリに特有のファイル処理が絡みますけど。


作成中に頻繁に {⌘-S} を押して保存していました。

これは、強制書き込みをOSに指示することに相当します。

なので、同じことですね。

2009/08/02 09:27 xy への返信

Mac-Mac間であれば.DS_Storeのような付加情報に意味があるのですが,私のようにWindows-Mac間では意味がないです (^^; 他にも幾つかの.(ドット)で始まるファイルが作られますよね。もちろんスポットライトもです。結局これらを作るのに時間を要するのでしょうね。


コンピュータは、ディスク入出力の遅さをカバーするために、メインメモリのバッファに書き込んだ状態でディスクに書き込んだことにして、処理を進めるようになりました。このとき、ディスクには何も書かれていませんし、ファイル管理情報も更新されていません。


このまま放置するわけにはいかないので、適当なタイミングで、そして、アンマウント時に、バッファ上の全データをディスクに書き込み、管理情報を更新します(これをフラッシュといいます)。これが、アンマウント時の主要な処理になります。

これが、アンマウントを適切に実行しない場合に、ファイルが無かったり、読み出せなくなったり、壊れる理由です。


USBメモリでも同じとは思っていませんでした。確かに外部記憶装置の一つですから,同じですよね。それにしても,もし主記憶のバッファへの書き込みだとすると,コピーの時の進捗状況のバーの動きが遅くないですか?また,コピー時にUSBメモリのLEDが点滅してます。これは実際にアクセスしていることを意味すると思うのですが.... おっしゃるようにOSはもっと複雑な動作しているので,簡単には説明できないのでしょうね。

2009/08/02 09:50 mos への返信

Macでもとにかく取り出し時の時間を短縮したいのです。よろしくお願いします。


2回目のアンマウント操作で何とかなりませんか?


というのも、大容量HDDで何度も経験してますが、HDDをアンマウントしようとしてもアクセス中で、1回目のアンマウントでは「アクセス中」の旨のダイヤログが出てアンマウントできませんが、続けてもう一回アンマウントしてやると、すんなりアンマウントできてしまう場合がほとんどです。このときも、一回目のアンマウント操作の後もアクセスランプは点滅してますが、続けての2回目のアンマウント操作ですんなりアンマウントされる場合がほとんどですけど。


ちなみに、私は32GBとか64GBのUSBフラッシュメモリーを使用していますが、アンマウントで非常に待たされるというのは経験してませんね…。だいたいいつもすんなりとアンマウントできます。

2009/08/02 17:09 NO9 への返信

2回目のアンマウント操作で何とかなりませんか?


というのも、大容量HDDで何度も経験してますが、HDDをアンマウントしようとしてもアクセス中で、1回目のアンマウントでは「アクセス中」の旨のダイヤログが出てアンマウントできませんが、続けてもう一回アンマウントしてやると、すんなりアンマウントできてしまう場合がほとんどです。このときも、一回目のアンマウント操作の後もアクセスランプは点滅してますが、続けての2回目のアンマウント操作ですんなりアンマウントされる場合がほとんどですけど。


おっしゃるように2回目ですんなりアンマウントできたこともありました。ただ,2回目,3回目もダメということもありました。そのときは,アクセス中である旨のダイアログです。そのときのUSBメモリを見ると,LEDが点滅してました。いずれにせよ,アンマウント時に大きなファイルをコピーしているとしか思えません。先のご回答にあったように,主記憶にバッファとしてコピーしておいたファイル群をアンマウント時に一気にコピーしているか,不可視属性の膨大なファイルをコピーしているか,その両方かということになりましょうか....しかし,NO9さんの場合は待たされることが無いということなので不思議なんですよねぇ〜 何らかの設定の違いでしょうかね。

2009/08/02 20:48 mos への返信

mos による書き込み:


Mac-Mac間であれば.DS_Storeのような付加情報に意味があるのですが,私のようにWindows-Mac間では意味がないです (^^; 

といっても、Macはそのこと(「意味が無い」こと)を知りませんから。

mos による書き込み:


コピー時にUSBメモリのLEDが点滅してます。これは実際にアクセスしていることを意味すると思うのですが.... 

いわゆるアクセスランプですよね。

アクセスは、通常、データ書き込みとデータ読み出しの両方を意味します。なので、読み出しかも?

デバイスの設計によっちゃ、コントローラとの通信に対しても点滅/点灯するかもしれません。


ですから、点滅が現実の書き込み動作とは限りません。


OSは、ファイル毎にバッファ(読み出し用と書き込み用)を設定し,同じボリュームに対してもディスクIOのバッファ(読み出し用と書き込み用)を設定します。ディスクIOのバッファイサイズは、多分、動的に管理しているでしょう。

同時にオープン出来るファイル数には制限がある(最近は,実質、無限と言える程に多くなったようですが)。

メインメモリの容量が少なければ,各バッファのサイズは小さくなり、同時にオープン出来るバッファ数も少なくなる。

このあたりを適切に管理する必要がある(プログラマの腕の見せ所)ので、簡単ではありません。

これが、メインメモリを一定以上に多くすると,劇的に動作が軽くなる(速くなる)といわれる所以です。


Mac用にフォーマットしたUSBメモリと比較してみては?

高速のUSBメモリを使うとか。

USBが低速動作しているという可能性は?

2009/08/02 19:17 mos への返信

NO9さんの場合は待たされることが無いということなので不思議なんですよねぇ〜 何らかの設定の違いでしょうかね。


書き忘れましたが、私は基本的に(USBフラッシュメモリーも)HFS+でフォーマットしたものを使ってます。たまにFAT32とかNTFSでフォーマットしたものを使いますが、そのときはそんなに大きなファイルとか沢山のファイルを読み書きしませんね。それと、読み書きが終わったらすぐにアンマウントしてます。で、必要になったらまた差すと。長いことデバイスを差しっぱなしとかにはしません。

2009/08/06 05:08 mos への返信

.

mos さんによる書き込み:


おっしゃるように2回目ですんなりアンマウントできたこともありました。

Spotlightだと2回目でアンマウント出来るはずなのですが。

ただ,2回目,3回目もダメということもありました。そのときは,アクセス中である旨のダイアログです。

これが、起きた際に、ターミナルで

sudo lsof [USBメモリ]

を実行してみていただけませんでしょうか。

[USBメモリ]の部分は、デスクトップのUSBメモリをドラッグ&ドロップしてもらえば入力が楽です。

sudoの後と、lsofの後に半角スペースが入ります。バスワードの入力が求められます。


下記のような感じで表示が出るはずです。必要なのは、各行の最初のwordだけです。ここだと、mdsとfseventsd。

そこだけ、ディスカッションに書き込んでいただけば、私に分からなくても、他の方には原因が分かるかも知れません。


ni_ki:~ ni_kit$ sudo lsof /Volumes/TM

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

mds 35 root 14r DIR 14,3 714 2 /Volumes/TM

mds 35 root 17u REG 14,3 28 30 /Volumes/TM/.Spotlight-V1

mds 35 root 19r DIR 14,3 2074 29 /Volumes/TM/.Spotlight-V100/Sto

mds 35 root 39u REG 14,3 6361088 54 /Volumes/TM/.Spotlight-V100

mds 35 root 40u REG 14,3 6361088 55 /Volumes/TM/.Spotlight-V100

mds 35 root 41u REG 14,3 0 57 /Volumes/TM/.Spotlight-V100

mds 35 root 43r DIR 14,3 714 2 /Volumes/TM

mds 35 root 44u REG 14,3 0 58 /Volumes/TM/.Sp

mds 35 root 45u REG 14,3 0 59 /Volumes/TM/.Sp

fseventsd 41 root 8u REG 14,3 0 124190 /Volumes/TM


で、ここに載せた例ですと、mdsもfseventsdは共にSpotlightで使用されたいます。fseventsdはTime Machineでも使用するようです。フォルダの変更を追いかけているプロセスとのことです。




.

2009/08/26 00:34 HAL への返信

>だそうな。原因が分かってるなら、Leopardでも対処してよと思うのは私だけ・・・ (^^;


これだけの理由でSnow Leopardを買う人もいるかも(Snow Leopardが一通り売れてから改善するとか)。


今日もネットワークボリュームを使っていて、「アプリケーションによって使われている」ためにアンマウントできず、一旦ログオフした私としては、アンマウント(イジェクト)の改善だけでもSnow Leopardを買う価値はあるかなと思っています。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

USBメモリの取り出し時の時間

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。