目次
3、运行 Linux 容器" >3、运行 Linux 容器
ホームページ システムチュートリアル Linux systemd: Linux 上のスーパー ツールボックス

systemd: Linux 上のスーパー ツールボックス

Feb 09, 2024 pm 05:42 PM
linux Linuxチュートリアル Linuxシステム Linuxコマンド シェルスクリプト 埋め込みLinux Linux を始める Linux学習

systemd:Linux 上的超级工具箱

systemd は Linux 上の最新の初期化システムで、システムの起動、サービスの実行、ユーザーのログインなどの管理を担当します。 systemd の目標は、高速、柔軟、スケーラブルなシステム管理フレームワークを提供することです。ただし、systemd は単なる初期化システムではなく、Linux システムの管理と監視を容易にする他の多くの機能とツールも提供します。この記事では、systemd でできる 3 つの素晴らしいことを見ていきます。

  • Linux の簡略化 ps: systemd-cgtop コマンドを使用して、制御グループに基づいてシステム負荷を表示します
  • Linux のスケジュールされたタスク: systemd タイマーを使用して定期的に実行されるタスクをスケジュールする
  • ## Linux コンテナの実行: Podman と systemd
  • を使用したコンテナの管理と監視
systemd が最初に登場したとき、起動時間を短縮できる方法について多くのニュースが流れました。この機能はほとんどの人にとって魅力的です (再起動しない人にとってはそれほど魅力的ではありません)。そのため、多くの点で、それが今日でも評判になっています。 systemd はブートプロセス中にサービスを並行して開始する役割を果たしますが、それ以上のことを行います。ここでは、systemd ができることに気づいていないかもしれないが、活用すべき 3 つのことを紹介します。

1. Linux の簡素化 ps

ps、または top コマンドを使用したことがある場合は、コンピューターで常に数百のプロセスが実行されていることをご存知でしょう。場合によっては、これは、コンピューターまたはそのユーザーが何をしているかを理解するために必要な情報に過ぎません。また、本当に必要なのは全体的な概要であることもあります。

systemd-cgtop このコマンドは、制御グループ cgroup タスク スケジュールに基づいて、コンピューターの負荷を簡単に表示します。コントロール グループは最新の Linux にとって重要であり、基本的にコンテナーと Kubernetes の基礎となるサポート構造です (これがクラウド コンピューティングが拡張できる理由です) が、家庭用コンピューターでも有用な構造でもあります。たとえば、systemd-cgtop の出力から、システム プロセスではなくユーザー プロセスの負荷がわかります。 リーリー ユーザー空間プロセスのみを表示したり、ユーザー空間プロセスとカーネル スレッドを表示したりすることもできます。

これは決して

top

ps に代わるものではなく、システムに対する異なる独自の視点です。コンテナーはコントロール グループを使用するため、コンテナーを実行する場合、これは重要になる可能性があります。

2. Linux のスケジュールされたタスク

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

web.xmlを開く方法 web.xmlを開く方法 Apr 03, 2025 am 06:51 AM

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

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

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

Linuxは何に最適なものですか? Linuxは何に最適なものですか? Apr 03, 2025 am 12:11 AM

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

Debian Hadoopの互換性はどうですか Debian Hadoopの互換性はどうですか Apr 02, 2025 am 08:42 AM

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

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? Apr 02, 2025 pm 03:48 PM

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

Debian文字列は、複数のブラウザと互換性があります Debian文字列は、複数のブラウザと互換性があります Apr 02, 2025 am 08:30 AM

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

rootとしてmysqlにログインできません rootとしてmysqlにログインできません Apr 08, 2025 pm 04:54 PM

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

libvは2つです libvは2つです Apr 03, 2025 pm 08:03 PM

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

See all articles