systemd: Linux 上のスーパー ツールボックス
systemd は Linux 上の最新の初期化システムで、システムの起動、サービスの実行、ユーザーのログインなどの管理を担当します。 systemd の目標は、高速、柔軟、スケーラブルなシステム管理フレームワークを提供することです。ただし、systemd は単なる初期化システムではなく、Linux システムの管理と監視を容易にする他の多くの機能とツールも提供します。この記事では、systemd でできる 3 つの素晴らしいことを見ていきます。
- Linux の簡略化 ps: systemd-cgtop コマンドを使用して、制御グループに基づいてシステム負荷を表示します
- Linux のスケジュールされたタスク: systemd タイマーを使用して定期的に実行されるタスクをスケジュールする ## Linux コンテナの実行: Podman と systemd
- を使用したコンテナの管理と監視
1. Linux の簡素化 ps
ps、または
top コマンドを使用したことがある場合は、コンピューターで常に数百のプロセスが実行されていることをご存知でしょう。場合によっては、これは、コンピューターまたはそのユーザーが何をしているかを理解するために必要な情報に過ぎません。また、本当に必要なのは全体的な概要であることもあります。
systemd-cgtop このコマンドは、制御グループ cgroup タスク スケジュールに基づいて、コンピューターの負荷を簡単に表示します。コントロール グループは最新の Linux にとって重要であり、基本的にコンテナーと Kubernetes の基礎となるサポート構造です (これがクラウド コンピューティングが拡張できる理由です) が、家庭用コンピューターでも有用な構造でもあります。たとえば、
systemd-cgtop の出力から、システム プロセスではなくユーザー プロセスの負荷がわかります。
リーリー
ユーザー空間プロセスのみを表示したり、ユーザー空間プロセスとカーネル スレッドを表示したりすることもできます。
これは決して
top や ps
に代わるものではなく、システムに対する異なる独自の視点です。コンテナーはコントロール グループを使用するため、コンテナーを実行する場合、これは重要になる可能性があります。
Cron は Linux の古典的なコンポーネントです。 Cron は、定期的に何かが起こるようにスケジュールしたい場合に使用します。信頼性が高く、システムにうまく統合されます。
問題は、Cron は一部のコンピューターがシャットダウンされることを理解していないことです。 cron ジョブを午前 0 時にスケジュールしていても、毎日 23:59 にコンピュータをシャットダウンした場合、cron ジョブは実行されません。 Cron には、夜間に見逃したジョブを検出するツールがありません。
この質問に対する答えとして、Anacron がありますが、これは優れていますが、Cron ほど統合されていません。 Anacron を実行するには、多くのセットアップを行う必要があります。
2 番目のオプションは systemd タイマーです。 Cron と同様に、組み込みですぐに使用できます。ユニット ファイルを作成する必要があります。これは、単一行の Crontab エントリよりも明らかに手間がかかりますが、非常に簡単でもあります。たとえば、次のユニット ファイルは、起動後 30 分に、ただし 1 日に 1 回だけ、仮想のバックアップ スクリプトを実行します。これにより、コンピュータが確実にバックアップされ、1 日に複数回バックアップを試行することがなくなります。
[Unit] Description=Backup Requires=myBackup.service [Timer] OnBootSec=30min OnUnitActiveSec=1d [Install] WantedBy=timers.target
当然,你也可以干预并提示运行一个任务。多亏了 OnUnitActiveSec
指令,systemd 不会试图运行你手动激活的作业。
3、运行 Linux 容器
容器使启动一个复杂的服务变得非常容易。你可以在短短几分钟内运行一个 Mattermost 或 Discourse 服务器。在某些情况下,困难的部分是在你运行容器后管理和监控它们。Podman 使得管理它们变得容易,但是用什么来管理 Podman 呢?嗯,你可以使用 systemd。
Podman 有一个内置的命令来生成单元文件,这样你的容器就可以被 systemd 管理和监控:
$ podman generate systemd --new --files --name example_pod
然后你所要做的就是启动服务:
$ systemctl --user start pod-example_pod.service
和其他服务一样,systemd 确保你的容器荚在任何情况下都能运行。它记录问题,你可以用 journalctl
和其他重要的日志来查看,你也可以用 systemd-cgtop
在控制组中监控它的活动。
它不是 Kubernetes 平台,但对于一两个容器来说,你只需要在可靠和可预测的基础上提供服务,Podman 和 systemd 是一对很棒的组合。
本文介绍了三件可以用 systemd 做的令人惊讶的事情,它们可以让你更轻松地管理和监控你的 Linux 系统。systemd 的内容还有很多,你可以从作者 David Both 的新书《systemd 实用指南》中了解更多。希望本文对你有所帮助!
以上がsystemd: Linux 上のスーパー ツールボックスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









web.xmlファイルを開くには、次の方法を使用できます。テキストエディター(メモ帳やテキストエディットなど)を使用して、統合開発環境(EclipseやNetBeansなど)を使用してコマンドを編集できます(Windows:Notepad web.xml; Mac/Linux:Open -A Textedit Web.xml)

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

Linuxは、サーバー管理、組み込みシステム、デスクトップ環境として最適です。 1)サーバー管理では、LinuxはWebサイト、データベース、アプリケーションをホストするために使用され、安定性と信頼性を提供します。 2)組み込みシステムでは、Linuxは柔軟性と安定性のため、スマートホームおよび自動車電子システムで広く使用されています。 3)デスクトップ環境では、Linuxは豊富なアプリケーションと効率的なパフォーマンスを提供します。

DebianLinuxは、その安定性とセキュリティで知られており、サーバー、開発、デスクトップ環境で広く使用されています。現在、DebianとHadoopとの直接的な互換性に関する公式の指示が不足していますが、この記事では、DebianシステムにHadoopを展開する方法について説明します。 Debianシステムの要件:Hadoop構成を開始する前に、DebianシステムがHadoopの最小動作要件を満たしていることを確認してください。これには、必要なJavaランタイム環境(JRE)とHadoopパッケージのインストールが含まれます。 Hadoop展開手順:Hadoopをダウンロードして解凍:公式ApachehadoopのWebサイトから必要なHadoopバージョンをダウンロードして解決します

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOで開発するとき、Oracleデータベースに接続することは一般的な要件です...

「DebianStrings」は標準的な用語ではなく、その特定の意味はまだ不明です。この記事は、ブラウザの互換性について直接コメントすることはできません。ただし、「DebianStrings」がDebianシステムで実行されているWebアプリケーションを指す場合、そのブラウザの互換性はアプリケーション自体の技術アーキテクチャに依存します。ほとんどの最新のWebアプリケーションは、クロスブラウザーの互換性に取り組んでいます。これは、次のWeb標準と、適切に互換性のあるフロントエンドテクノロジー(HTML、CSS、JavaScriptなど)およびバックエンドテクノロジー(PHP、Python、Node.jsなど)を使用することに依存しています。アプリケーションが複数のブラウザと互換性があることを確認するには、開発者がクロスブラウザーテストを実施し、応答性を使用する必要があることがよくあります

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

私はLua-Libuvというプロジェクトを開発しましたが、私の経験を喜んで共有しています。プロジェクトの当初の意図は、libuv(cで書かれた非同期I/Oライブラリ)を使用して、C言語を深く学習せずに簡単なHTTPサーバーを構築する方法を探ることです。 ChatGptの助けを借りて、http.cの基本コードを完了しました。永続的な接続を扱うとき、私は正しいタイミングでリソースを閉鎖し、解放することに成功しました。最初は、接続を閉じることでメインプログラムを終了するシンプルなサーバーを作成しようとしましたが、いくつかの問題がありました。ストリーミングを使用してデータのブロックを送信しようとしましたが、機能している間、これによりメインスレッドがブロックされます。最終的に、私の目標はC言語を深く学ぶことではなかったので、このアプローチをあきらめることにしました。最後に、i
