バックグラウンド
<span style="font-size: 15px;">df</span>
コマンドを実行してディスク使用量を確認し、ディスクがいっぱいであることを確認します。 -bash-4.2$ df -ThFilesystem Type Size Used Avail Use% Mounted on/dev/vda1 ext4 30G 30G 0 100% /devtmpfs devtmpfs 489M 0 489M 0% /devtmpfs tmpfs 497M 0 497M 0% /dev/shmtmpfs tmpfs 497M 50M 447M 11% /runtmpfs tmpfs 497M 0 497M 0% /sys/fs/cgroup
2. du コマンドを実行して、各ディレクトリのディスク使用量を確認し、各ディレクトリ内のファイルのサイズを合計すると、ディスクは占有されていませんが、10 G を超えるスペースが何らかの理由で不足しています。
-bash-4.2$ du -h --max-depth=1 /home16M /home/logs11G /home/serverdog11G /home
###
<span style="font-size: 15px;">lsof</span>
命令显示打开已删除的文件。将有问题的进程重启(或,清空),磁盘空间就会得到释放。-bash-4.2# lsof | grep deletemysqld 2470 mysql 4u REG 253,1 0 523577 /var/tmp/ibfTeQFn (deleted)mysqld 2470 mysql 5u REG 253,1 0 523579 /var/tmp/ibaHcIdW (deleted)mysqld 2470 mysql 6u REG 253,1 0 523581 /var/tmp/ibLjiALu (deleted)mysqld 2470 mysql 7u REG 253,1 0 523585 /var/tmp/ibCFnzTB (deleted)mysqld 2470 mysql 11u REG 253,1 0 523587 /var/tmp/ibCjuqva (deleted)
什么是虚拟文件系统(VFS:virtual filesystem)?
什么是通用文件模型?
超级块对象(superblock object)
索引节点对象(inode object)
文件对象(file object)
目录项对象(dentry object)
文件的概念
文件的表达
内存表达
磁盘表达
目录树的构建
ソフト リンクとハード リンク
ファイルとディスクの管理
インデックス ノードのステータス
ファイルとプロセスの管理
-
操作:
開いて削除
仮想ファイル システム
共通ファイル モデル
スーパーブロック オブジェクト
メモリ: インストール中に作成されるファイル システムファイルシステムに関する情報を保存します
ディスク: ディスク上に保存されるファイルシステム制御ブロック (ファイルシステム制御ブロック) に対応します
インデックスノードオブジェクト (inode オブジェクト)
メモリ: アクセス時に作成され、特定のファイルに関する一般情報を保存します (
inode 構造
)
ディスク: ファイル コントロールに保存されているファイルに対応しますディスク上のブロック
各 inode オブジェクトには、ファイル システム内でファイルを一意に識別する i ノード番号があります
ファイル オブジェクト (ファイル オブジェクト)
メモリ: ファイルを開くときに作成され、開いているファイルとファイル間のやり取りを保存します。 process (
ファイル構造
) に関する情報
オープン ファイル情報は、プロセスがファイルにアクセスしている間のみカーネル メモリに存在します。
ディレクトリ オブジェクト (dentry オブジェクト)
メモリ: ディレクトリ エントリがメモリに読み込まれると、VFS 変換されます。
dentry 構造のディレクトリ エントリ オブジェクトに変換します。
ディスク: 特定のファイル システムが特定の方法でディスクに保存されます。
対応するファイルにリンクされたディレクトリ エントリ (つまり、ファイル名) を保存します。情報
ディレクトリ ツリー
要約すると、Linux のルート ファイル システム (システムのルート ファイル システム) は、カーネルがシステムを起動するために最初に使用するものです。マウント ファイル システム。カーネル コード イメージ ファイルはルート ファイル システムに保存され、システム ブート プログラムは、ルート ファイル システムのマウント後に実行するために、いくつかの基本的な初期化スクリプトとサービスをメモリにロードします (ファイル システムとカーネルは完全に独立した 2 つの部分です) )。その後、スクリプトまたはコマンドを使用して、ファイル システムがインストールされているディレクトリに他のファイル システムがサブファイル システムとしてインストールされ、最終的にディレクトリ ツリー全体が形成されます。
start_kernel vfs_caches_init mnt_init init_rootfs // 注册rootfs文件系统 init_mount_tree // 挂载rootfs文件系统 … rest_init kernel_thread(kernel_init, NULL, CLONE_FS);
软链接 vs 硬链接
<span style="font-size: 15px;color: rgb(68, 68, 68);">i_nlink</span>
字段为零时,说明没有硬链接指向该文件。文件 & 进程管理
* "in_use" - valid inode, i_count > 0, i_nlink > 0* "dirty" - as "in_use" but also dirty* "unused" - valid inode, i_count = 0
<span style="font-size: 15px;">open()</span>
と ## によって決まります。 #close ()<span style="font-size: 15px;"></span>
この操作では、ファイル オブジェクトが作成および破棄されます。ファイル オブジェクトは、iget<span style="font-size: 15px;"></span>## を通じてインデックス ノードによって提供されます。 # および
iput<span style="font-size: 15px;"></span> インデックス ノードの i_count フィールドを更新して、使用数カウントを完了します。オープン操作では i_count が 1 つ増加し、クローズ操作では i_count が 1 つ減少します。クローズ操作中にインデックス ノードが解放されるかどうかを決定します。i_count = 0 の場合は、プロセス参照がなくなり、メモリから解放されることを意味します。
ファイルとディスクの管理に最も密接に関連する操作は
touch <span style="font-size: 15px;"></span> 操作と
#rm<span style="font-size: 15px;"> 操作、特に後者が最も重要です。 strace (または dtruss) を使用して、rm</span>
の実際のシステム コールを表示します。
# dtruss rm tmp...geteuid(0x0, 0x0, 0x0) = 0 0ioctl(0x0, 0x4004667A, 0x7FFEE06F09C4) = 0 0lstat64("tmp\0", 0x7FFEE06F0968, 0x0) = 0 0access("tmp\0", 0x2, 0x0) = 0 0unlink("tmp\0", 0x0, 0x0) = 0 0
可以发现 rm 实际是通过 unlink 完成的。unlink代表删除目录项,以及减少其索引节点的计数。由通用文件模型可知,父目录本身同样是一个文件,也就意味着目录项是其文件数据的一部分。删除目录项等价于从父目录的文件中删除数据,也就意味着首先要打开父目录的文件。那么,删除操作即可理解为:
删除命令(一个进程)使用 open 操作获得父目录文件对象
通过
<span style="font-size: 15px;color: rgb(68, 68, 68);">iget</span>
增加 目录文件的索引节点对象计数读取目录文件数据
将目录文件数据转化为目录项对象
由于目录项包含文件的索引节点,类似的,需要通过 iget 增加文件的索引节点对象计数
删除目录的目录项
减少文件索引节点对象的硬链接计数i_nlink
通过
<span style="font-size: 15px;color: rgb(68, 68, 68);">iput</span>
结束对文件索引节点对象的操作,使用计数 i_count 减一判断i_count是否为零,如果为零,则释放内存
然后,判断i_nlink是否为零,如果为零,则释放磁盘空间
通过 iput 结束对目录索引节点对象的操作。
概要
遭遇した問題を振り返ると、実際には次の 2 つの角度から問題を理解できます。
インデックスとデータ
##キャッシュ戦略
オペレーティング システムはライト バックを使用するためこの戦略は、メモリが最初に解放された場合にのみディスクを解放できることを意味します。
なぜ lsof なのか ?
以上がlsof から始めて、Linux 仮想ファイル システムを深く理解します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

メンテナンスモードは、Linuxシステム管理において重要な役割を果たし、修復、アップグレード、構成の変更を支援します。 1.メンテナンスモードを入力します。 Grubメニューから選択するか、コマンド「sudosystemctlisolaterscue.target」を使用できます。 2。メンテナンスモードでは、ファイルシステムの修理およびシステムの更新操作を実行できます。 3.高度な使用法には、ルートパスワードのリセットなどのタスクが含まれます。 4.メンテナンスモードに入ったり、ファイルシステムをマウントできないなどの一般的なエラーは、GRUB構成をチェックしてFSCKコマンドを使用して固定できます。

Linuxメンテナンスモードを使用するタイミングと理由:1)システムが起動するとき、2)主要なシステムの更新またはアップグレードを実行するとき、3)ファイルシステムメンテナンスを実行するとき。メンテナンスモードは、安全で制御された環境を提供し、運用上の安全性と効率を確保し、ユーザーへの影響を減らし、システムセキュリティを強化します。

Linuxの不可欠なコマンドは次のとおりです。1.LS:リストディレクトリの内容; 2.CD:作業ディレクトリを変更します。 3.mkdir:新しいディレクトリを作成します。 4.RM:ファイルまたはディレクトリを削除します。 5.CP:ファイルまたはディレクトリをコピーします。 6.MV:ファイルまたはディレクトリの移動または名前を変更します。これらのコマンドは、カーネルと対話することにより、ユーザーがファイルとシステムを効率的に管理するのに役立ちます。

Linuxでは、ファイルおよびディレクトリ管理ではLS、CD、MKDIR、RM、CP、MVコマンドを使用し、許可管理はCHMOD、CHOWN、およびCHGRPコマンドを使用します。 1。LS-Lなどのファイルおよびディレクトリ管理コマンドは、詳細情報、MKDIR-Pを再帰的に作成するディレクトリを再帰的に作成します。 2。CHMOD755FILEセットファイル許可、CHOWNUSERFILEファイル所有者、CHGRPGROUPFILEの変更ファイルグループなどの許可管理コマンド。これらのコマンドは、ファイルシステム構造とユーザーおよびグループシステムに基づいており、システムコールとメタデータを介して動作および制御します。

メンテナンスメモデンリンリンアスピアルブーテンビロンメント、criticalsystemmaincencetasks.itallowsadministratorstopertopertopertopersetstingtingpasswords、Repainingfilesystems、およびRecoveringfrombootfailurureSinaMinimalenvironment.

Linuxのコアコンポーネントには、カーネル、ファイルシステム、シェル、ユーザー、カーネルスペース、デバイスドライバー、パフォーマンスの最適化とベストプラクティスが含まれます。 1)カーネルは、ハードウェア、メモリ、プロセスを管理するシステムのコアです。 2)ファイルシステムはデータを整理し、Ext4、BTRFS、XFSなどの複数のタイプをサポートします。 3)シェルは、ユーザーがシステムと対話するためのコマンドセンターであり、スクリプトをサポートします。 4)システムの安定性を確保するために、ユーザースペースをカーネルスペースから分離します。 5)デバイスドライバーは、ハードウェアをオペレーティングシステムに接続します。 6)パフォーマンスの最適化には、システム構成とベストプラクティスのチューニングが含まれます。

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

Linuxメンテナンスモードは、Grubメニューから入力できます。特定の手順は次のとおりです。1)GRUBメニューのカーネルを選択し、「E」を押して編集し、2)「Linux」行の最後に「シングル」または「1」を追加し、3)Ctrl Xを押して開始します。メンテナンスモードは、システム修理、パスワードリセット、システムのアップグレードなどのタスクに安全な環境を提供します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









