GNU/Linux >> Linux の 問題 >  >> Linux

ImageMagick で PDF を作成する 2 GB 制限を超える

あなたの制限は、実際にはファイルシステムに起因するものではありません。またはパッケージのバージョンからだと思います .

2GB の制限は、32 ビット バージョンの OS を使用しているためです。

ファイルを増やすオプションは、ハードウェアがサポートしている場合 64 ビット バージョンをインストールすることです。 .

大きなファイルのサポートを参照してください

<ブロック引用>

従来、多くのオペレーティング システムとその基盤となるファイル システムの実装では、ファイルのサイズと位置を表すために 32 ビット整数が使用されていました。したがって、2 - 1 バイト (4GB - 1) を超えるファイルはありません。多くの実装では、サイズを符号付きの数値として扱うことで問題が悪化し、制限がさらに 2 − 1 バイト (2 GB − 1) に引き下げられました。


convert で使用されるピクセル キャッシュを制限してみてください 例えば1 GiB:

convert 0001.miff ... 2000.miff -limit memory 1GiB -limit map 1GiB -compress jpeg -quality 80 out.pdf

これにより、ImageMagic が RAM バッファーに 2 GiB を超えるデータを格納しようとするのではなく、すでに処理済みのデータをディスクに定期的にダンプするようになることを願っています。

ところで、32 ビット Linux の 1 つのプロセスで使用できる仮想メモリの量は、VMSPLIT によって定義されます。 カーネル構成設定。これは、2G/2G (カーネル用に 2GB + ユーザーランド用に 2GB) または 1G/3G (カーネル用に 1 GB + ユーザーランド用に 3 GB) のいずれかです。実行中のシステムでは、

経由で設定を見つけることができます。
zcat /proc/config.gz | grep VMSPLIT

一部のシステムでは、カーネル構成は /boot/config-$(uname -r) に保存されます


Linux
  1. 与えられたファイルの年齢を取得しますか?

  2. 改行をNulに置き換えますか?

  3. Phpmyadminで常に403エラーが発生しますか?

  1. ネットワークを介したLinuxでのファイル変更の監視に関する考え

  2. Linuxの「検索」でファイル名のみを取得するには?

  3. スペースを含むファイルのリストを反復処理する

  1. lsの使用を開始する

  2. Linux – OracleJava7をSetcapCap_net_bind_service+ epと連携させる方法は?

  3. Nautilus Terminal 3 で Nautilus ファイル マネージャーに組み込まれた端末を取得する