プログラム(手順):プログラムは、命令の論理的、連続的な構造の一連の実装であると言うことは非常に正確ではないが、結果を達成するために私たちを助けます。私たちはレストランに行くように、私はウェイター牛丼に言いたいです、
彼女はとても牛丼を行うためのプログラムを実施し、最終的に我々は、このような牛丼を得ました。それはそれ以外の場合は武道攻略のようなものだ、実行する必要がある、と他の人がそこに見えます。
工程(プロセス):プロセスがデータセットに実行中のプログラムであり、初期のUNIX、Linuxの2.4およびそれ以前のバージョンでは、リソースの割り当てとスケジューリングのための独立したシステムの基本単位です。
私たちはレストランに行ったとして、上記の一例として、ウェイターは私が牛丼をしたいと、彼女はそのようなプログラムを作るために牛丼を行ったが、調理法があり、牛肉のスープは、プロセスですか、
混合米と牛肉スープはプロセスであり、テーブルの上に米はプロセスです。私たちはこのようなプロセスの武道の秘密に見るようなものだし、その後の章の章では、実際に行くことに。
簡単に言えば、プログラムは、Vimはプログラムであるとして、ソフトウェアのタスクを達成するために設計されています。プロセスとは何ですか?このプロセスは、プログラムを実行することです。
一連の命令のコレクションは、静的なエンティティが、異なるプロセスであり、プログラムは単に、プロセスは以下の特徴があります。
- ダイナミクス:プロセスの本質は、プログラム実行の過程では、ステータス変更の取り消しを作成しました。プログラムは、静的なエンティティです。
- 同時実行:プロセスは、一定の期間で行うことができ、実行中の複数のプログラムがあります。プログラムの唯一の静的なエンティティは、そう何の同時実行はありません。
- 独立:独立プロセスが独立して実行し、独立した受け入れディスパッチ、リソースを割り当てることができます。
- 非同期:予測不可能な速度で前進するプロセス。
- 構造:プロセスは、コードセグメント、データセグメント、PCB(プロセス制御ブロック、フラグのみ既存のプロセス)を有しています。それは独立して実行を行うことができますので、構造、プロセスのもあります
並行性:時間の期間で、ビューのマクロポイントは、複数のプログラムがアクティブ、系統的実行がされている(実行のすべての瞬間に一つだけが、複数のプログラムがある期間にわたって実行されます)
パラレル:すべての瞬間には、これは、複数のCPUの仕事を持っている必要があり、複数のプログラムが同時に実行されているがあります
スレッド(スレッド)は、システムの運転スケジュールを操作することのできる最小単位です。これは、プロセスの単位プロセスの実際の動作が含まれます。スレッドは、プロセスの複数のスレッドを同時に処理シーケンスの単一の制御フローを指し
並行して各スレッドは異なるタスクを実行します。スレッドは、ほとんどのシステムリソースなので、より速く、より効率的なの実装が含まれているため。
要するに、方法は、少なくとも一つのスレッドを有し、少なくとも1つのプログラムのプロセスがあります。マルチスレッド・プログラムの同時実行の高いようにスレッドの部門は、プロセスよりも小さなスケール。また、プロセスは、実装工程において別々のメモリユニットを有しており、共有メモリの複数のスレッド、それによって大幅にプログラムの効率を高めます。それは次のようになります。
プロセス管理:
top
当社のツールは、一般的に、トップがフォアグラウンドで実行されるプログラムであるので、そのようなインタフェースに入った後、実行、表示ツール、私たちの重要な情報システムのいくつかの変化をリアルタイムで表示に使用されています、
取得した情報システムおよびプロセスは、我々はリアルタイムにインタフェースすることができますので、それは正確です。インターフェイスでは、我々は動作することができ、いくつかの指示によってスクリーニングしました。
PSは、プロセスを表示するための我々の最も人気のあるツールの一つである、我々は彼が私に与えることができますどのような情報について、そのようなコマンドを使用して理解して来ます
コンテンツ | 説明 |
---|---|
F | ロゴプロセス(プロセスフラグ)、フラグはこのルーチンは単なるフォークですが、execを実行しなかったことを示し、図4は、プログラムは、スーパー管理者root権限を使用していることを示しています |
ユーザー | これは、ユーザプロセスを持っています |
PID | プロセスID |
PPID | 親プロセスのPID |
SID | セッション的ID |
TPGID | フォアグラウンドプロセスグループID |
%CPU | プロセスによって占められるCPUの割合 |
%MEM | 占有メモリの割合 |
NI | NICEプロセス値 |
VSZ | プロセスは、仮想メモリのサイズを使用しています |
RSS | メモリページサイズの常駐 |
TTY | 端末ID |
SまたはSTAT | プロセスの状態 |
WCHAN | このプロセスは、リソースを待っています |
開始 | プロセスを開始する時間 |
時間 | プロセスは、CPU時間を消費します |
コマンド | 名前とコマンドのパラメータ |
状態 | 説明 |
---|---|
R | 実行。運用 |
S | 割り込みスリープ。コール待ち |
D | 無停電睡眠。割り込み不可能なスリープ状態 |
T | 立ち止まった。サスペンドや状態を追跡します |
バツ | 。デッドについては取り消されます |
とともに | ゾンビ。ゾンビプロセス |
W | ページング。メモリスワップ |
N | 優先順位の低いプロセス |
< | 優先度の高いプロセス |
S | プロセス・リーダー |
L | ロック状態 |
リットル | マルチスレッド状態 |
+ | フォアグラウンドプロセス |
pstreeは、あなたは直接のプロセスの数が同じ、我々はすべてのプロセス間の相関を見ることができる最も重要なことを見ることができます。
もちろん、プロセスのスケジューリング優先順位を決定するためのプロセスの優先度の値によって、優先順位値PRと素敵は上記と制御さを反映しています
nice値は私達によって変更することができる素敵なコマンドですが、根は最高の権威を持っているところnice値は、-20〜19に調整することができることに留意すべきである、いずれかの彼らのプロセスを調整し、他のユーザーを調整することができますプログラム、
すべての値を用いることができるが、一般ユーザは、自身の変調処理をすることができ、システムリソースをつかむために、一般的なユーザーを回避するために、システムがのreniceを使用するように制限を設定するための範囲は、0〜19のみを使用することができます既存のプロセスの優先度を変更します
ログシステム:
ログデータは、情報の貴重なリポジトリは無価値データ泥沼かもしれことができます。これは、すべてのシステムの動作によって生成され、特定の仕様に従って表現を記録することができます。我々は、システムのパフォーマンスを最適化し、システムのトラブルシューティングを行うには、システムログに記録された情報を使用することができます
或者根据这些信息调整系统的行为。收集你想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,还可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明“发生了什么”的一个很好的“取证”信息来源。
日志可以为审计进行审计跟踪。
在 Linux 中大部分的发行版都内置使用 syslog 系统日志,那么通过前期的课程我们了解到常见的日志一般存放在 /var/log
中。
日志名称 | 记录信息 |
---|---|
alternatives.log | 系统的一些更新替代信息记录 |
apport.log | 应用程序崩溃信息记录 |
apt/history.log | 使用 apt-get 安装卸载软件的信息记录 |
apt/term.log | 使用 apt-get 时的具体操作,如 package 的下载、打开等 |
auth.log | 登录认证的信息记录 |
boot.log | 系统启动时的程序服务的日志信息 |
btmp | 错误的信息记录 |
Consolekit/history | 控制台的信息记录 |
dist-upgrade | dist-upgrade 这种更新方式的信息记录 |
dmesg | 启动时,显示屏幕上内核缓冲信息,与硬件有关的信息 |
dpkg.log | dpkg 命令管理包的日志。 |
faillog | 用户登录失败详细信息记录 |
fontconfig.log | 与字体配置有关的信息记录 |
kern.log | 内核产生的信息记录,在自己修改内核时有很大帮助 |
lastlog | 用户的最近信息记录 |
wtmp | 登录信息的记录。wtmp可以找出谁正在进入系统,谁使用命令显示这个文件或信息等 |
syslog | 系统信息记录 |
日志的产生实现可以通过两种方式:
- 一种是由软件开发商自己来自定义日志格式然后指定输出日志位置;
- 一种方式就是 Linux 提供的日志服务程序,而我们这里系统日志是通过 syslog 来实现,提供日志管理服务。
首先我们来看 rsyslog 的配置文件是什么样子的,而 rsyslog 的配置文件有两个,
- 一个是
/etc/rsyslog.conf
- 一个是
/etc/rsyslog.d/50-default.conf
。
第一个主要是配置的环境,也就是 rsyslog 加载什么模块,文件的所属者等;而第二个主要是配置的 Filter Conditions