1.1CPUパフォーマンスビュー
1.物理CPUの数を確認します。
cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
2.各物理CPUのコア数を表示します。
cat /proc/cpuinfo |grep "cpu cores"|wc -l
3.論理CPUの数:
cat /proc/cpuinfo |grep "processor"|wc -l
物理CPUの数*コアの数=論理CPUの数(ハイパースレッディングテクノロジーをサポートしていない場合)
1.2メモリビュー
1.メモリ使用量を確認します。
#free -m
total used free shared buffers cached
Mem: 3949 2519 1430 0 189 1619
-/+ buffers/cache: 710 3239
Swap: 3576 0 3576
total:内存总数
used:已经使用的内存数
free:空闲内存数
shared:多个进程共享的内存总额
- buffers/cache:(已用)的内存数,即used-buffers-cached
+ buffers/cache:(可用)的内存数,即free+buffers+cached
Buffer Cache用于针对磁盘块的读写;
Page Cache用于针对文件inode的读写,这些Cache能有效地缩短I/O系统调用的时间。
对操作系统来说free/used是系统可用/占用的内存;
对应用程序来说-/+ buffers/cache是可用/占用内存,因为buffers/cache很快就会被使用。
私たちが仕事をするときは、アプリケーションの観点からそれを見る必要があります。
1.3ハードディスクビュー
1.ハードディスクとパーティションの情報を表示します。
fdisk -l
2.ファイルシステムのディスクスペースの占有を確認します。
df -h
3.ハードディスクのI / Oパフォーマンスを確認します(1秒に1回表示され、5回表示されます)。
iostat -x 1 5
Iostatはパッケージsystatに含まれているため、yum -y installsystatを使用してインストールできます。
頻繁に関係するパラメータ:
-
如%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
-
如idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。
4.Linuxシステムのディレクトリのサイズを確認します。
du -sh /root
特定のパーティションのスペースがほとんど使い果たされていることがわかった場合は、パーティションのマウントポイントを入力し、次のコマンドを使用して、最もスペースを占めるファイルまたはディレクトリを見つけてから、必要なフロントを見つけます。システム内の最大のスペースを降順で増やします。10個のファイルまたはディレクトリ:
du -cksh *|sort -rn|head -n 10
1.4平均負荷を表示する
システムの応答が非常に遅い場合がありますが、理由が見つからない場合は、平均負荷をチェックして、多数のプロセスが並んで待機しているかどうかを確認する必要があります。
負荷平均:平均負荷
負荷平均とは、システムの実行キューの平均使用率を指し、実行可能なプロセスの平均数と見なすこともできます。
道路状況を例にとると、シングルコアCPUとシングルレーンの状況は次のとおりです。
- 0.00〜1.00の数値は、現時点で道路状況が非常に良好で、渋滞がなく、車両が支障なく通過できることを示しています。
- 1.00は道路が正常であることを意味しますが、劣化して渋滞を引き起こす可能性があります。現時点では、システムに冗長なリソースがないため、管理者は最適化する必要があります。
- 1.00-***は、道路状況があまり良くないことを意味します。2.00に達すると、橋の上に2倍の車両が待機していることを意味します。このケースを確認する必要があります。
マルチコアCPU-マルチレーンの状況は次のとおりです。
マルチコアCPUの場合、全負荷状態の数は「1.00 * CPUコア数」、つまりデュアルコアCPUは2.00、クアッドコアCPUは4.00です。
一般的なプロセスでは、CPU、メモリ、ディスクI / O、ネットワークI / Oなどのリソースを消費する必要があります。この場合、負荷平均はCPU使用率だけを指すものではありません。つまり、メモリ、ディスク、ネットワークなどの要因も、システムの平均負荷値に影響を与える可能性があります。
シングルコアプロセッサでは、平均負荷値が1以下の場合、システム処理プロセスは非常に簡単になります。つまり、負荷は非常に低くなります。3に達すると、非常にビジーであるように見え、5または8に達すると、うまく処理できなくなります(5と8はまだ議論の余地のあるしきい値であり、保守性のために、低い値を選択することをお勧めします)。
負荷平均データを表示する
負荷平均は、次のコマンドで確認できます
#トップ
#の稼働率
W#
以下のスクリーンショット:
トップコマンド
稼働時間コマンド
wコマンド
ここでの負荷平均の3つの値は、過去1/5/15分間のシステムの平均負荷値を示しています。
経験によると、1分の平均負荷は頻繁すぎるため、5/15分の平均負荷に焦点を当てる必要があります。また、同時実行性が高いと、値が大幅に変化します。
1.5vmstatコマンドでシステムがビジーかどうかを判断します
vmstatコマンドを使用して、システムがビジーであるかどうかを判別することもできます。ここで、
procs
r:等待运行的进程数。
b:处在非中断睡眠状态的进程数。
w:被交换出去的可运行的进程数。
memeory
swpd:虚拟内存使用情况,单位为KB。
free:空闲的内存,单位为KB。
buff:被用来作为缓存的内存数,单位为KB。
swap
si:从磁盘交换到内存的交换页数量,单位为KB。
so:从内存交换到磁盘的交换页数量,单位为KB。
io
bi:发送到块设备的块数,单位为KB。
bo:从块设备接受的块数,单位为KB。
system
in:每秒的中断数,包括时钟中断。
cs:每秒的环境切换次数。
cpu
按cpu的总使用百分比来显示。
us:cpu使用时间。
sy:cpu系统使用时间。
id:闲置时间。
1.6 Linuxでは、nethogsツールを使用してプロセストラフィックを表示できます
1.7その他のパラメータ
查看内核版本号:
uname -a
简化命令:uname -r
查看系统是32位还是64位的:
file /sbin/init
查看发行版:
cat /etc/issue
或lsb_release -a
查看系统已载入的相关模块:
lsmod
查看pci设置:
lspci
2.1.3システムパフォーマンス分析ツール
1.一般的なシステムコマンド
Vmstat、sar、iostat、netstat、free、ps、top等
2.一般的に使用される組み合わせ
-
vmstat、sar、iostat检测是否是CPU瓶颈
-
free、vmstat检测是否是内存瓶颈
-
iostat检测是否是磁盘I/O瓶颈
-
netstat检测是否是网络带宽瓶颈
2.1.4Linuxのパフォーマンス評価と最適化
システム全体のパフォーマンス評価(稼働時間コマンド)uptime
16:38:00アップ118日、3:01、5ユーザー、平均負荷:1.22、1.02、0.91
注意:
-
負荷平均の3つの値のサイズは、通常、システムCPUの数を超えることはできません。
システムには8つのCPUがあります。負荷の平均値が長時間8を超える場合は、CPUが非常にビジーで負荷が高いことを示しており、システムのパフォーマンスに影響を与える可能性があります。
-
ただし、8を超える場合もありますが、通常はシステムパフォーマンスに影響しません。
-
負荷平均出力値がCPUの数よりも少ない場合は、この例の出力のように、CPUにアイドルタイムスライスがあることを意味します。CPUは非常にアイドル状態です。
2.2.1CPUパフォーマンス評価
1.vmstatコマンドを使用してシステムCPUを監視します
主にCPU負荷に応じて、システム内のさまざまなリソースのパフォーマンスに関する簡単な情報を表示します。
以下は、特定のシステムでのvmstatコマンドの出力です。
[root@node1 ~]#vmstat 2 3
procs
———–memory———- —swap– —–io—- –system– —–cpu——
r b swpd freebuff cache si so bi bo incs us sy idwa st
0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0
0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0
0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0
Procs
r--cpuタイムスライスを実行および待機しているプロセスの数。この値がシステムCPUの数よりも長い間長い場合は、CPUが不十分であり、CPUを増やす必要があることを意味します。
b--I / Oの待機やメモリの交換など、リソースを待機しているプロセスの数。
CPU
我ら
ユーザープロセスによって消費されたCPU時間のパーセンテージ。
私たちの価値が比較的高い場合、それはユーザープロセスがより多くのCPU時間を消費することを意味しますが、それが長期間50%を超える場合は、最適化手順またはアルゴリズムを検討する必要があります。
彼の
カーネルプロセスによって消費されたCPU時間のパーセンテージ。Syの値が高い場合は、カーネルが大量のCPUリソースを消費していることを示しています。
経験上、us + syの基準値は80%です。us+ syが80%より大きい場合は、CPUリソースが不足している可能性があります。
2. sarコマンドを使用して、システムCPUを監視します
sarは、システムの各側面で個別の統計を実行しますが、システムオーバーヘッドは増加しますが、オーバーヘッドは評価でき、システムの統計結果に大きな影響を与えることはありません。
以下は、特定のシステムのsarコマンドのCPU統計出力です。
[root@webserver ~]# sar -u 3 5
Linux
2.6.9-42.ELsmp (webserver) 11/28/2008_i686_
(8 CPU)
11:41:24
AM CPU %user %nice%system
%iowait %steal %idle
11:41:27
AM all 0.88 0.00 0.29 0.00 0.00 98.83
11:41:30
AM all 0.13 0.00 0.17 0.21 0.00 99.50
11:41:33
AM all 0.04 0.00 0.04 0.00 0.00 99.92
11:41:36
AM all 90.08 0.00 0.13 0.16 0.00 9.63
11:41:39
AM all 0.38 0.00 0.17 0.04 0.00 99.41
Average:
all 0.34 0.00 0.16 0.05 0.00 99.45
出力は次のように説明されます。
-
%user列显示了用户进程消耗的CPU 时间百分比。
-
%nice列显示了运行正常进程所消耗的CPU 时间百分比。
-
%system列显示了系统进程消耗的CPU时间百分比。
-
%iowait列显示了IO等待所占用的CPU时间百分比
-
%steal列显示了在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作 。
-
%idle列显示了CPU处在空闲状态的时间百分比。
-
问题
システム全体のCPU使用率が高くなく、アプリケーションが遅いという現象に遭遇したことがありますか?
マルチCPUシステムでは、プログラムがシングルスレッドを使用している場合、このような現象が発生します。全体的なCPU使用率は高くありませんが、システムアプリケーションの応答が遅くなります。これは、シングルスレッドが使用されていることが原因である可能性があります。プログラム。1つのCPUを使用すると、CPU占有率が100%になり、他のCPUがアイドル状態のときに他の要求を処理できなくなり、全体的なCPU使用率が低くなり、アプリケーションが遅くなります。
2.3.1メモリパフォーマンスの評価
1.freeコマンドを使用してメモリを監視します
freeは、Linuxのメモリ使用量を監視するために最も一般的に使用されるコマンドです。次の出力を参照してください。
[root@webserver ~]# free -m
total
used freeshared
buffers cached
Mem:
8111 7185 926 0 243 6299
-/+
buffers/cache:
643 7468
Swap:
8189 0 8189
実験式:
-
应用程序可用内存/系统物理内存>70%,表示系统内存资源非常充足,不影响系统性能;
-
应用程序可用内存/系统物理内存<20%,表示系统内存资源紧缺,需要增加系统内存;
-
20%<应用程序可用内存/系统物理内存<70%,表示系统内存资源基本能满足应用需求,暂时不影响系统性能
2.vmstatコマンドを使用してメモリを監視します
[root@node1
~]#
vmstat 2 3
procs
———–memory———- —swap– —–io—- –system– —–cpu——
r b swpd freebuff cache si so bi bo incs us sy idwa st
0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0
0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0
0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0
記憶
-
swpd--切换到内存交换区的内存数量(k为单位)。如swpd值偶尔非0,不影响系统性能
-
free--当前空闲的物理内存数量(k为单位)
-
buff--buffers cache的内存数量,一般对块设备的读写才需要缓冲
-
cache--page cached的内存数量
一般に、ファイルシステムがキャッシュされると、頻繁にアクセスされるファイルがキャッシュされます。キャッシュ値が大きい場合は、キャッシュされているファイルの数が多いことを意味します。この時点でIOのbiが小さい場合は、ファイルシステムの方が優れています。
スワップ
-
si--由磁盘调入内存,也就是内存进入内存交换区的数量。
-
so--由内存调入磁盘,也就是内存交换区进入内存的数量。
siなどの値は長い間0ではなく、システムメモリが不足していることを示しています。システムメモリを増やす必要があります。
2.4.1ディスクI / Oパフォーマンスの評価
1.ディスクストレージの基本
頻繁にアクセスされるファイルまたはデータは、可能な限り直接ディスクI / Oの代わりにメモリの読み取りと書き込みを使用します。これは、1000倍効率的です。
頻繁に読み取られるファイルと書き込まれるファイルを長期間変更されていないファイルから分離し、それらを異なるディスクデバイスに配置します。
頻繁に書き込まれるデータの場合、ファイルシステムの代わりにrawデバイスの使用を検討できます。
裸の機器の利点:
-
数据可直接读写,不需经过操作系统级缓存,节省内存资源,避免内存资源争用;
-
避免文件系统级维护开销,如文件系统需维护超级块、I-node等;
-
避免了操作系统cache预读功能,减少了I/O请求
生の機器を使用することの欠点は次のとおりです。
データ管理とスペース管理は柔軟ではなく、操作するには非常に専門的な担当者が必要です。
2.iostatを使用してディスクパフォーマンスを評価します
[root@webserver ~]# iostat -d 2 3
Linux
2.6.9-42.ELsmp (webserver) 12/01/2008_i686_
(8 CPU)
Device:
tps Blk_read/sBlk_wrtn/sBlk_read
Blk_wrtn
sda 1.87 2.58 114.12 6479462 286537372
Device:
tps Blk_read/sBlk_wrtn/sBlk_read
Blk_wrtn
sda
0.00 0.00 0.00 0 0
Device:
tps Blk_read/sBlk_wrtn/sBlk_read
Blk_wrtn
sda
1.00 0.00 12.00 0 24
説明は次のとおりです。
-
Blk_read/s--每秒读取数据块数
-
Blk_wrtn/s--每秒写入数据块数
-
Blk_read--读取的所有块数
-
Blk_wrtn--写入的所有块数
Blk_read / sとBlk_wrtn / sの値を使用して、ディスクの読み取りと書き込みのパフォーマンスの基本を理解できます。Blk_wrtn/ s
の値が大きい場合は、ディスクの書き込み操作が頻繁に行われていることを意味します。最適化を検討してください。ディスクまたはプログラム
。ディスクの直接読み取り操作が多く、読み取ったデータをメモリに入れることができることを示します。
ルールは次のとおりです。
長期にわたる大量のデータの読み取りと書き込みは間違いなく異常であり、この状況は間違いなくシステムパフォーマンスに影響を与えます。
3.sarを使用してディスクパフォーマンスを評価します
「sar-d」の組み合わせにより、システムのディスクIOに関する基本的な統計を作成できます。次の出力を参照してください。
[root@webserver ~]# sar -d 2 3
Linux
2.6.9-42.ELsmp (webserver) 11/30/2008_i686_
(8 CPU)
11:09:33
PM DEV tps rd_sec/swr_sec/savgrq-sz
avgqu-sz await svctm %util
11:09:35
PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:09:35
PM DEV tps rd_sec/swr_sec/savgrq-sz
avgqu-sz await svctm %util
11:09:37
PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00
11:09:37
PM DEV tps rd_sec/swr_sec/savgrq-sz
avgqu-sz await svctm %util
11:09:39
PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05
Average:
DEV tps rd_sec/swr_sec/savgrq-sz
avgqu-sz await svctm %util
Average:
dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02
パラメータの意味:
-
await--平均每次设备I/O操作等待时间(毫秒)
-
svctm--平均每次设备I/O操作的服务时间(毫秒)
-
%util--一秒中有百分之几的时间用于I/O操作
ディスクIOパフォーマンスを評価するための基準:
通常のsvctmはawait値よりも小さい必要があり、svctmはディスクパフォーマンスに関連しています。CPUとメモリの負荷もsvctm値に影響します。過度の要求は、間接的にsvctm値も増加させます。
-
await值取决svctm和I/O队列长度以及I/O请求模式,
-
如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,
-
如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,
-
此时可以通过更换更快的硬盘来解决问题。
%util--ディスクI / Oを測定するための重要なインジケータ
%utilが100%に近い場合は、ディスクが生成するI / O要求が多すぎて、I / Oシステムがすでにフル容量で動作しており、ディスクにボトルネックがある可能性があることを意味します。
プログラムを最適化するか、より高速で高速なディスクを交換することができます。
2.5.1。ネットワークパフォーマンス評価
-
(1)通过ping命令检测网络的连通性
-
(2)通过netstat –i组合检测网络接口状况
-
(3)通过netstat –r组合检测系统的路由表信息
-
(4)通过sar –n组合显示系统的网络运行状态
3つのLinuxサーバーのパフォーマンスチューニング
1.ディスクI / OのLinuxカーネルエレベータアルゴリズムを調整します
ファイルシステムを選択した後、アルゴリズムは低遅延要件のバランスを取り、十分なデータを収集し、ディスクの読み取りおよび書き込み要求を効果的に整理できます。
2.メモリとCPUリソースを節約するために、不要なデーモンを無効にします
-
许多守护进程或服务通常非必需,消耗宝贵内存和CPU时间。将服务器置于险地。
-
禁用可加快启动时间,释放内存。
-
减少CPU要处理的进程数
無効にする必要がある一部のLinuxデーモンは、デフォルトで自動的に実行されます。
シリアル番号デーモンの説明
1Apmd高度な電源管理デーモン
2NFSファイルロック用の
Nfslock3 IsdnISDNモダンサポート4Autofs
はファイルシステムをバックグラウンドで自動的にマウントします(CD-ROMを自動的にマウントするなど)5Sendmail
メール転送エージェント
6XfsXウィンドウフォントサーバ
3.关掉GUI
4.不要なモジュールまたは機能をクリーンアップします
サーバーソフトウェアパッケージ内のアクティブ化された関数またはモジュールが多すぎると、実際には必要ありません(Apacheの多くの機能モジュールなど)。無効にすると、使用可能なシステムメモリの量が増え、本当に必要なソフトウェアのリソースが解放されます。彼らはより速く走ります。
5.コントロールパネルを無効にします
Linuxには、Cpanel、Plesk、Webmin、phpMyAdminなど、多くの一般的なコントロールパネルがあります。これらを無効にすると、約120MBのメモリが解放され、メモリ使用量が約30〜40%減少します。
6. LinuxEximサーバーのパフォーマンスを向上させる
DNSキャッシュデーモンを使用すると、DNSレコードの解決に必要な帯域幅とCPU時間を削減できます。DNSキャッシュは、ルートノードからDNSレコードを毎回検索する必要がないため、ネットワークパフォーマンスが向上します。
Djbdnsは非常に強力なDNSサーバーであり、DNSキャッシュ機能を備えています。また、DjbdnsはBIND DNSサーバーよりも安全でパフォーマンスが高く、http://cr.yp.to/から直接ダウンロードするか、によって提供されるソフトウェアパッケージからダウンロードできます。レッドハットが取得します。
7. AES256を使用して、gpgファイルの暗号化セキュリティを強化します
バックアップファイルや機密情報のセキュリティを向上させるために、多くのLinuxシステム管理者は暗号化にgpgを使用しています。gpgを使用する場合は、AES256暗号化アルゴリズムを使用するようにgpgを指定し、256ビットキーを使用するようにAES256を指定するのが最適です。はオープンな暗号化アルゴリズムです。NationalSecurityAgency(NSA)は、これを使用して極秘情報を保護します。
8.リモートバックアップサービスのセキュリティ
リモートバックアップサービスを選択する上で最も重要な要素はセキュリティです。ほとんどのシステム管理者は、(ハッカーが)バックアップファイルを削除できることと、バックアップからシステムを復元できないことの2つを恐れています。
バックアップファイルの100%のセキュリティを確保するために、バックアップサービス会社は、scpスクリプトまたはRSYNCを使用してSSH経由でデータを転送するリモートバックアップサーバーを提供します。これにより、誰もリモートシステムに直接アクセスしたり、リモートシステムに直接アクセスしたりできなくなります。バックアップサービスからデータを削除できます。リモートバックアップサービスプロバイダーを選択するときは、そのサービスの堅牢性を複数の側面から理解するのが最善です。可能であれば、自分でテストすることもできます。
9.デフォルトのカーネルパラメータ設定を更新します
データベースサーバーなどのエンタープライズアプリケーションをスムーズかつ正常に実行するには、一部のデフォルトのカーネルパラメータ設定を更新する必要がある場合があります。たとえば、2.4.xシリーズのカーネルメッセージキューパラメータmsgmniにはデフォルト値があります(たとえば、共有メモリ、またはRedHatシステムのshmmax上記のデフォルトは33554432バイトのみです)、これはデータベースへの制限された同時接続のみを許可します。以下は、データベースサーバーのより良い操作のためのいくつかの推奨値を提供します(IBM DB2サポートWebサイトから):
kernel.shmmax = 268435456(32位)
kernel.shmmax = 1073741824(64位)
kernel.msgmni = 1024
fs.file-max = 8192
kernel.sem =” 250 32000 32 1024”
10.TCPを最適化する
TCPプロトコルを最適化すると、ネットワークスループットが向上します。クロスWAN通信に使用される帯域幅が大きく、遅延時間が長い場合は、TCP Linuxサイズを大きくして、データ転送速度を上げることをお勧めします。TCPLinuxサイズによって決まります。送信側ホストのデータ送信確認が受信されないときに受信側ホストに送信できるデータの量。
11.適切なファイルシステムを選択します
ext3の代わりにext4ファイルシステムを使用する
●Ext4は、ストレージ制限を拡張するext3ファイルシステムの拡張バージョンです。
●高水準のデータ整合性を確保するログ機能付き(異常シャットダウン時)
●異常なシャットダウンや再起動時にディスクをチェックする必要はありません(これは非常に時間のかかるアクションです)
●書き込み速度が速く、ext4ログがハードディスクヘッドの動きを最適化
12.noatimeファイルシステムのマウントオプションを使用します
ファイルシステムのスタートアップコンフィギュレーションファイルfstabでnoatimeオプションを使用します。外部ストレージを使用する場合、このマウントオプションを使用するとパフォーマンスを効果的に向上させることができます。
13.Linuxファイル記述子の制限を調整します
Linuxは、任意のプロセスで開くことができるファイル記述子の数を制限します。デフォルトの制限は、プロセスごとに1024です。これらの制限により、ベンチマーククライアント(httperfやapachebenchなど)とWebサーバー自体が最高のパフォーマンスを達成できなくなる可能性があります。Apacheは1つを使用します。したがって、プロセスは影響を受けませんが、Zeusなどの単一プロセスWebサーバーは、接続ごとに1つのファイル記述子を使用するため、デフォルトの制限の影響を受けやすくなります。
オープンファイル制限は、ulimitコマンドで調整できる制限です。ulimit-aSコマンドは現在の制限を示し、ulimit -aHコマンドはハード制限を示します(/ procのカーネルパラメーターを調整する前に制限を増やすことはできません)。 )。
Linuxサードパーティアプリケーションのパフォーマンススキル
Linuxで実行されているサードパーティのアプリケーションの場合、Linuxサーバーのパフォーマンスを向上させ、運用コストを削減するのに役立つ多くのパフォーマンス最適化手法もあります。
14.MySQLを正しく構成する
MySQLにより多くのメモリを割り当てるために、MySQLキャッシュサイズを設定できます。MySQLサーバーインスタンスがより多くのメモリを使用する場合は、キャッシュサイズを減らします。リクエストが増加したときにMySQLが停滞している場合は、MySQLキャッシュを増やします。
15.Apacheを正しく構成する
Apacheが使用するメモリの量を確認してから、StartServersパラメーターとMinSpareServersパラメーターを調整して、より多くのメモリーを解放します。これにより、メモリーの30〜40%を節約できます。
16.Linuxサーバーのパフォーマンスを分析する
システム効率を改善する最善の方法は、全体的な速度が低下する原因となるボトルネックを見つけて解決することです。システムの主要なボトルネックを見つけるための基本的な手法を次に示します。
●OpenOfficeやFirefoxなどの大規模なアプリケーションが同時に実行されている場合、コンピュータの速度が低下し始め、メモリが不足する可能性が高くなります。
●起動が非常に遅い場合は、初めてアプリケーションをロードするのに時間がかかる場合があり、起動すると正常に動作します。そうでない場合は、ハードディスクが遅すぎる可能性があります。
●CPU負荷は引き続き高く、メモリは十分ですが、CPU使用率は非常に低くなっています。CPU負荷分析ツールを使用して、負荷時間を監視できます。
17.5つのLinuxパフォーマンスコマンドを学ぶ
Linuxシステムのパフォーマンスを管理するには、いくつかのコマンドを使用します
。top、vmstat、iostat、free、sarなど、最も一般的に使用される5つのLinuxパフォーマンスコマンドを以下に示します。これらは、システム管理者がパフォーマンスの問題をすばやく解決するのに役立ちます。
(1)上
現在のカーネルサービスのタスクには、多くのホストのステータスに関する統計も表示されます。デフォルトでは、5秒ごとに自動的に更新されます。
例:現在の稼働時間、システム負荷、プロセス数とメモリ使用量、
さらに、このコマンドは、CPU時間を最も多く使用するプロセスも表示します(実行中のユーザー、実行されたコマンドなど、各プロセスに関するさまざまな情報を含みます)。
(2)vmstat
Vmstatコマンドは、現在のCPU、IO、プロセス、およびメモリ使用量のスナップショットを提供します。これはtopコマンドと同様であり、次のようなデータを自動的に更新します。
$ vmstat 10
(3)iostat
Iostatは、CPU使用率、デバイス使用率、ネットワークファイルシステム使用率の3つのレポートを提供します。これらの3つのレポートは、-c、-d、および-hパラメーターを使用して個別に表示できます。
(4)無料
メインメモリとスワップスペースメモリの統計を表示します。-tパラメータを指定して合計メモリを表示し、-bパラメータをバイト単位で指定し、-mを使用してメガバイトを単位として使用します。デフォルトでは、キロバイトが単位です。
Freeコマンドでは、-sパラメータと遅延時間(単位:秒)を使用して、次のように継続的に実行することもできます。
$無料-s5
(5)sar
パフォーマンスデータの収集、表示、記録このコマンドは、以前のコマンドよりも長い履歴があり、より長い期間データを収集および表示できます。
その他
その他に分類されるパフォーマンスのヒントは次のとおりです。
18.ログファイルをメモリに転送します
マシンの実行中は、システムログをメモリに保存し、システムの電源がオフのときにハードディスクにコピーすることをお勧めします。syslogを有効にしてラップトップまたはモバイルデバイスを実行する場合、ramlogを使用すると増加することができます。システムバッテリーまたはモバイルデバイスのフラッシュドライブの寿命、ramlogを使用する利点の1つは、デーモンが30秒ごとにsyslogにメッセージを送信することを心配する必要がないことです。バッテリーが不良です。
19.最初に梱包してから、
ログファイルを保存するために固定サイズのスペースがメモリに分割されます。つまり、ラップトップのハードディスクを実行し続ける必要はありません。デーモンがログを書き込む必要がある場合にのみ実行されます。メモリスペースに注意してください。 ramlogで使用されるものは修正されています。そうでない場合、システムメモリはすぐに使い果たされます。ノートブックがソリッドステートドライブを使用する場合、50〜80MBのメモリをramlogに割り当てることができます。Ramlogは多くの書き込みサイクルを短縮し、ソリッドステートドライブ。
20、一般的なチューニングスキル
可能な限り動的コンテンツではなく静的コンテンツを使用してください。天気予報や1時間ごとに更新する必要のあるその他のデータを生成する場合は、ユーザーにAを実行させるのではなく、1時間ごとに静的ファイルを生成するプログラムを作成することをお勧めします。 CGIはレポートを動的に生成します。
動的アプリケーションに最も高速で最適なAPIを選択します。CGIはプログラミングが最も簡単かもしれませんが、リクエストごとにプロセスを生成します。通常、これはコストがかかり不要なプロセスです。FastCGIの方が適しています。また、Apacheのmod_perlは次のことができます。アプリケーションのパフォーマンスを大幅に向上させます。