Linuxでスワップパーティションファイルを作成する方法

Linuxでスワップパーティションファイルを作成する方法

スワップの紹介

Linux のスワップ (スワップ パーティション) は、Windows の仮想メモリに似ています。メモリが不足すると、ハードディスク領域の一部がメモリとして仮想化され、メモリ容量不足の問題が解決されます。

スワップファイルの作成方法

1. 交換用のファイルを作成する

sudo fallocate -l 1G /スワップファイル

faillocate がインストールされていない場合、または「fallocate failed: Operation not support」というエラー メッセージが表示される場合は、次のコマンドを使用してスワップ ファイルを作成できます。

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

2. 適切な権限を設定する

スワップ ファイルの書き込みと読み取りができるのは root ユーザーのみなので、正しい権限タイプを設定します。

sudo chmod 600 /スワップファイル

3. Linuxスワップ領域を設定する

mkswap ユーティリティを使用して、ファイルを Linux スワップ領域として設定します。

sudo mkswap /スワップファイル

4. スワップを有効にする

次のコマンドでスワップ ファイルをアクティブ化します。

sudo swapon /スワップファイル

変更を永続的にするには、/etc/fstab ファイルを開き、次の行を追加します。

/swapfile swap スワップ デフォルト 0 0

5. 交換ステータスを確認する

スワップがアクティブであることを確認するには、次のように swapon または free コマンドを使用します。

sudo swapon --show

出力

名前 タイプ サイズ 使用頻度 優先順位
/swapfile ファイル 1024M 507.4M -1
sudo フリー -h

出力

       使用可能な使用済み空き共有バフ/キャッシュの合計
メモリ: 488M 158M 83M 2.3M 246M 217M
スワップ: 1.0G 506M 517M

swappiness を調整する方法

Swappiness は、システムがスワップ領域を使用する頻度を定義する Linux カーネルのプロパティです。 Swappiness は 0 から 100 までの値を取ることができます。値を低くするとカーネルはスワップをできるだけ回避しますが、値を大きくするとカーネルはスワップ領域をより積極的に使用します。

デフォルトの swappiness 値は 60 です。次のように入力すると、現在の swappiness 値を確認できます。

cat /proc/sys/vm/swappiness

出力

60

swappiness の値を 60 に設定するとデスクトップでは問題ありませんが、実稼働サーバーではより低い値を設定することをおすすめします。

たとえば、swappiness 値を 10 に設定するには、次のように入力します。

sudo sysctl vm.swappiness=10

このパラメータを再起動しても維持するには、/etc/sysctl.conf ファイルに次の行を追加します。

vm.スワップ度=10

最適な swappiness 値は、システムのワークロードとメモリの使用方法によって異なります。最適な値を見つけるには、このパラメータを少しずつ調整する必要があります。

スワップファイルを削除する方法

何らかの理由でスワップ ファイルを非アクティブ化して削除する場合は、次の手順に従ってください。

1. まず、次のコマンドを使用してスワップを非アクティブ化します。

sudo swapoff -v /スワップファイル

2. /etc/fstab ファイルからスワップ ファイル エントリ /swapfile swap swap defaults 0 0 を削除します。

3. 最後に実際のスワップファイルを削除します。

sudo rm /スワップファイル

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Golang を使用して Linux 上のファイルのアクセス/作成/変更時間を取得する
  • Linux フォルダファイルの作成と削除の解析
  • Linux パーティションまたは論理ボリュームにファイルシステムを作成する方法
  • Linux で binlog ファイルの作成時間を表示するコマンド
  • 日付フォルダまたはファイルを作成する Linux コマンドのサンプルコード
  • Linux でファイルの作成時間を取得する方法と実践的なチュートリアル

<<:  CocosCreatorでゲームコントローラーを使用する方法

>>:  Spring jdbc のデータベース操作オブジェクト モデルの詳細な例

推薦する

Linux でアップロードされたファイルのスケジュールされたバックアップと増分バックアップを実装する方法

導入Alibaba Cloud のような OSS ストレージ サービスを使用している場合は、サービス...

JavaScriptにおけるこのポインティング問題の詳細な説明

序文JS の this ポインターは、初心者にとって常に頭痛の種でした。今日は、これが地面に落ちたと...

削除、切り捨て、ドロップの違いと選択方法

序文先週、同僚が私に尋ねました。「兄さん、MySQL にバグを見つけました。午後にディスクをクリーン...

MySQLマスタースレーブデータベース構築方法の詳細な説明

この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...

Nginx プロキシ使用時にヘッダーに「_」が含まれることで情報が失われる問題の解決方法

序文ゲートウェイプロジェクトを開発する場合、署名 sign_key 情報はリクエスト時にリクエスト ...

MySQLステートメントの記述と実行順序を理解するだけです

MySQL ステートメントの書き込み順序と実行順序には大きな違いがあります。書き順、mysql の一...

中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)

PS: 最近、nginx を詳細に紹介している <<High-Performance ...

Javascriptのクロージャとアプリケーションの詳細な説明

目次序文1. クロージャとは何ですか? 1.1 クロージャは条件コードを満たす1.2 クロージャ生成...

スクロールバーを非表示にしながらもスクロール効果を維持する純粋な CSS (モバイルと PC)

携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...

CentOS 6.5 インストール mysql5.7 チュートリアル

1. 新機能MySQL 5.7 はエキサイティングなマイルストーンです。デフォルトの InnoDB ...

リンクをクリックしたときに表示される点線のボックスを削除するいくつかの方法

削除する方法はいくつかあります:リンクを直接追加するonfocus="this.blur(...

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド

背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...

Dockerコンテナシェルスクリプトの実行ステータスを監視する方法

シナリオ会社のプロジェクトはDockerでデプロイされています。原因不明ですが、コンテナが時々停止し...

Linux 仮想メモリ設定のチュートリアルと実践

仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...