05/01/31 14:45:59 Pk4W4dbQ
デスクトップ用途なんですけど、起動高速化のポイントを教えてチョンマゲ。
215:login:Penguin
05/02/01 16:27:31 I6tDQf3J
URLリンク(bootchart.sourceforge.net)
216:login:Penguin
05/02/01 20:24:57 FATIS0Zt
デスクトップ用途なら、起動高速化するより
ハイバネーションしたほうがよくね?
217:login:Penguin
05/02/01 20:59:42 XbA2uZyK
え、いつのまにLinuxでハイバネ出来るようになったんだ?ACPIで?
218:名無し募集中。。。
05/02/01 21:05:45 ni2Ix7l6
ハイバネーション自体は10年近く前からできたと思うが。
Thinkpad560でハイバネーション使ってたし。
219:login:Penguin
05/02/02 19:48:13 znbKGKHD
>>217
Power Management supportにSoftware Suspendがある。
これはACPIとかAPMには依存しないらしい。
漏れも、リブレットでハイバネーションしてた気がする。
もう全然覚えてないんだけど。
220:login:Penguin
05/02/10 12:15:54 oOWFqUeh
>>214
ガンガンモジュール化してカーネルサイズをできる限り小さくする。
起動するデーモンの数を減らす。
ブートスクリプトからif文を極力減らす。
221:login:Penguin
05/02/10 12:28:24 brMmHycg
>ブートスクリプトからif文を極力減らす。
前2つはもちろんやってるんですけど、この辺りが難しい。
取捨のポイントとか、ノウハウがあったら教えて欲しい。
222:login:Penguin
05/02/10 20:35:34 oOWFqUeh
>>221
俺もあんま詳しいわけじゃないんだけど例えば、
if devfs
else udev
fi
みたいなかんじでudevを使うとしたらこういうときはudevがあること前提で
if文による存在確認なしでudevを実行しちゃうとか。
おれはarch linuxをベースにいろいろやってんだけどブートスクリプトを
起動順におっかけるとシステムの理解にもつながると思うよ。速くなる効果は
そんなにないと思うけど。デーモンの起動スクリプトなんかはだいたい
条件文使ってる場合が多いけど自分専用なら無条件で起動してもいいんじゃん?
汎用性は思いっきり下がるけどね。ただfedoraとかでは難しいんじゃないかな。
ブートスクリプトが複雑すぎる。plamoやslackやcruxやarchなんかは
わかりやすいよ。
223:login:Penguin
05/02/10 22:47:50 dGBvqZF8
うーん。もちろん起動スクリプト(rc.sysinit)は追ってるんですけど
大きな流れはわかるけど、どれが必要か、どれが不要かって悩んでるんですよ。
例えばquotaとか、usb-file-systemとか、そういう所のチューニング方法のノウハウはないかなと。
ずっと前から、ちょっとづつ見てるんですけど、なかなかポイントが見出せないんです。
とりあえず、起動メッセージを(redhat型の)旧来型にしてる位はやってます。
224:login:Penguin
05/02/10 22:50:17 dGBvqZF8
書き忘れましたが、Vine3.1を使ってます。
225:login:Penguin
05/02/11 09:15:30 +gDG48b5
>>223
こーゆーアプローチもあるみたいよ。↓の「起動プロセスの高速化」のとこ。
URLリンク(www.debian.org)
デスクトップ用途だと稼ぎ代があまりないかもしれんけど。
226:login:Penguin
05/02/11 12:15:56 2fRHG2mE
ありがとうございます。
ですが、その類のサーバー類全て動いてません....
227:login:Penguin
05/02/16 19:29:02 k+Jq8o1L
WinXPのアンチエイリアスとかClearTypeのベンチ結果。2kと比べて遅いという結果。
URLリンク(www.atmarkit.co.jp)
Linuxだとどうなる?gtkとかqtとか。
228:login:Penguin
05/04/15 19:23:18 xiZGb7YY
URLリンク(www.anandtech.com)
SuSE速いね。Fedoraはどっか壊れてる。
229:login:Penguin
05/04/18 06:00:42 DrxBHwMs
gcc以外のコンパイラ試した人いる?
intel純正のFree版 for Linuxとかどうなの?
gccより速いのは分かってるんだけど話題に上がらないのなんでかな?
230:login:Penguin
05/04/18 17:33:59 eo0WeKNL
とりあえずiccインストールしてみた。
パフォーマンステスト用のいいソースコードない?
231:login:Penguin
05/04/18 23:35:36 Htx2oGDV
intel compiler for Linux part2
スレリンク(linux板)l50
232:login:Penguin
05/04/19 02:18:21 JNjUpo8L
サンクス。
ちょっと試してみた結果。
scimark2
gcc -march=i686 -O3 -pipe -fomit-frame-pointer
Composite Score: 170.11
FFT Mflops: 142.97 (N=1024)
SOR Mflops: 255.56 (100 x 100)
MonteCarlo: Mflops: 52.63
Sparse matmult Mflops: 167.18 (N=1000, nz=5000)
LU Mflops: 232.20 (M=100, N=100)
icc -O2 -tpp6
Using 2.00 seconds min time per kenel.
Composite Score: 205.57
FFT Mflops: 135.42 (N=1024)
SOR Mflops: 306.84 (100 x 100)
MonteCarlo: Mflops: 39.13
Sparse matmult Mflops: 189.96 (N=1000, nz=5000)
LU Mflops: 356.48 (M=100, N=100)
gcc 3.3.2
icc 8.1
233:login:Penguin
05/04/19 08:19:48 YESwyIJd
先週立ち読みしたUNIX USERにiccの記事があったよ。これだったかな?
URLリンク(www.unixuser.jp)
gzipとかbzip2とかでテストして、速くなったり遅くなったりという結果だった。
遅くなるやつは、gcc向けにソース書いたりしてて遅くなるのかな?
234:login:Penguin
05/04/19 09:02:41 6IdIWu//
FFTは逆に遅くなるのか・・・・・・
面白い結果だな
235:login:Penguin
05/04/19 21:01:49 nKiiE0YZ
FireFoxのconfigure覗いたらiccにも対応してるのにやり方が思いつかない。
何度読んでも分からない。
くやしいな。
236:login:Penguin
05/04/21 07:21:33 eQKDCXcw
specちょっと書き換えるだけでiccに変更できる。
はずだったけど一部直にgccと埋め込んであるmakeがあり苦戦中、反則だよ。
firefoxってwin,Mac,linux、ソースコード共通なんだね、びっくりした。
ついでにfirefoxのconfigure。
1040行めのifに対するelseが1975行め、こんなの読めるわけねぇだろ!
237:login:Penguin
05/04/22 00:38:45 8MAiPa+M
>1040行めのifに対するelseが1975行め、こんなの読めるわけねぇだろ!
ワロス
238:login:Penguin
05/04/22 00:39:58 g6dMQ8o8
うmナイスな突込みだ
239:login:Penguin
05/05/01 14:15:29 CzA+N7/M
>>237
俺もそう思う。Fedoraとかのブートもそういう域に入ってると思うな。
全体的に見通しをよくしてほしいね。
240:login:Penguin
05/05/01 17:25:31 vkzC4gxx
2週間後にレスがつくとは。
firefoxのiccビルド完走したよ。
一応動いたけどちょっと遅い、最適化の失敗だと思う。
追いかける元気なし。
ビルドの進行状況は/BUILD/mozillaのファイル数で分かる。
5万4千ちょっとがゴール。
iccは大変だったけどgccなら何もしなくてもbuildできる。
やればi386の標準的なやつより速くなるよ。
241:login:Penguin
05/05/07 00:02:44 9nFSTuty
すんなり通るかどうか分からん時は、まず最適化無しで試してみれば?
C++でも一瞬で終わる。
242:login:Penguin
05/05/18 01:14:54 3mIvABuE
URLリンク(www.spec.org)
Red Hat Enterprise Linux AS 3.0 SP1
These entries were added to /etc/sysctl.conf
net.core.netdev_max_backlog = 7000
net.ipv4.tcp_syn_retries = 20
net.ipv4.tcp_synack_retries = 20
net.ipv4.tcp_fin_timeout = 30
vm.max_map_count = 131072
This entry was added to /root/.bash_profile
ulimit -n 8192
SuSE Linux Enterprise Server 8, Service Pack 3
These entries were added to /etc/init.d/sysctl.conf
net.core.netdev_max_backlog = 600
net.core.somaxconn = 1024
net.ipv4.tcp_synack_retries = 20
net.ipv4.tcp_fin_timeout = 30
fs.file-max=65535
kernel.shmmax=1073741824
net.ipv4.tcp_sack=0
net.ipv4.tcp_timestamps=0
vm.bdflush=100 1200 128 512 15 5000 100 0 0
kernel.sched_yield_scale=1
This entry was added to /root/.profile
ulimit -n 8192
243:login:Penguin
05/05/18 01:15:33 3mIvABuE
SuSE Linux Enterprise Server 8, Service Pack 3
These entries added to /etc/init.d/sysctl.conf
fs.file-max=65535
kernel.shmmax=1073741824
net.ipv4.tcp_sack=0
net.ipv4.tcp_timestamps=0
vm.bdflush=100 1200 128 512 15 5000 100 0 0
kernel.sched_yield_scale=1
SuSE Linux Enterprise Server 8 Service Pack 3
These entries added to /etc/init.d/sysctl.conf
fs.file-max=65535
kernel.shmmax=1073741824
net.ipv4.tcp_sack=0
net.ipv4.tcp_timestamps=0
vm.bdflush=100 1200 128 512 15 5000 100 0 0
kernel.sched_yield_scale=1
244:あぼーん
あぼーん
あぼーん
245:login:Penguin
05/05/25 22:35:38 fEWIhXOO
知識だけではだめです。経験と実績も必要です。
246:login:Penguin
05/05/26 05:26:15 b95L1lJk
以前したところ RedHat 9が遅かったので、
Opteron Dual + SUSE Linux 9.3を導入試験中です。
Apache 2.1.4等でパフォーマンスを
調べているのですが、かなり遅いです。
ためしに、HDD(同じ型番)を交換してFreeBSD 5.4Rと比較してみたのですが
こちらは2倍ちかくの性能が出ましたのでハードウェアの問題では
ないと思います。
インターネット上では、2.6.11のカーネルはかなり速いように
報告されていますが、どのあたりを調整すればパフォーマンスが
向上するのでしょうか?
とりあえず、どれもインストールしたままの状態で使っています。
247:login:Penguin
05/05/26 13:33:15 DO1p9yla
SMPカーネルじゃなかったってオチじゃないだろうな…
248:login:Penguin
05/05/26 14:47:38 WgGg8Jn9
DMAがoffとか
249:login:Penguin
05/05/27 18:55:25 0zWtXGWI
i386のバイナリ使ってるとか?
2倍ちかくの性能差ならちょうど計算合う。
250:login:Penguin
05/05/27 19:51:35 ZuVsIjxS
>>249
64bitと32bitカーネルで2倍も差が出ますか?
251:login:Penguin
05/05/27 21:39:29 Q7Qim0uR
>>246
とりあえず、私のAthlonXP1700のマシンと交換してあげます。
252:login:Penguin
05/05/27 22:28:01 hokb0VO/
hint: file system
253:login:Penguin
05/05/28 01:07:44 wsPvvusp
ファイルI/Oの非同期/同期
254:login:Penguin
05/05/29 18:21:21 fIAtZcX9
filecacheを設定する方法を教えてくださぃ(下限・上限とか)
255:login:Penguin
05/05/30 16:40:03 wWo4MSHW
空いてるメモリは全てキャッシュとして利用している。
256:login:Penguin
05/06/05 19:07:10 13mU6ish
test.
257:login:Penguin
05/11/24 08:11:34 RZQmt0zW
2.6.14.2
CONFIG_PREEMPT_NONE=y
CONFIG_HZ=100
CONFIG_IOSCHED_NOOP=y
でも案外音飛びしないな。普通のデスクトップ用途ならckじゃなくともこんな設定でも充分っつうことかな。
258:login:Penguin
05/11/24 17:25:43 ygizxwun
インテルのハイパースレッディング技術でサーバ性能の低下が発生か
URLリンク(japan.cnet.com)
P4へぼすぎてワロス
259:login:Penguin
05/11/24 22:04:33 ezk1xeJ9
最悪が重なればどうなるかは分かってたはず。
つっこまれる前にカミングアウトできなかったインテル。
キャッシュの取り合いつぶし合いはデュアルコアのp4やathlonでも起こるはず。
athlonはサーバーであまり使われていないのが幸い。
インテルは根本的解決策として共有キャッシュ。
260:login:Penguin
05/11/25 03:59:17 S2L1PbD/
HTTの話なのになんでデュアルコアやathlonがでてくんの
261:login:Penguin
05/11/25 05:58:20 YGpB1L2f
そこでopteronですよ
262:login:Penguin
05/11/25 20:50:41 ZYi02iFx
>>259
HTTってキャッシュじゃなくてレジスタだと思うが・・・
263:login:Penguin
05/12/07 20:11:50 yM4/VoR2
まぁ今更なんですが、一応。
URLリンク(debian.fam.cx)
264:login:Penguin
05/12/25 19:25:33 OkFXu416
gcc 3.4のAthlonXPでFirefoxを最適化してる
CFLAGS="-O2 -march=athlon-xp -mfpmath=sse -falign-functions=64 -falign-labels=6 -falign-jumps=6 -falign-loops=6 \
-DNDEBUG -DNO_DEBUG -DG_DISABLE_ASSERT -fomit-frame-pointer -ftracer -ffast-math -fno-unsafe-math-optimizations \
-fno-strict-aliasing -pipe -fpeel-loops -fbranch-target-load-optimize -fbranch-target-load-optimize2 \
-frename-registers -funroll-loops -freduce-all-givs -freorder-blocks -fno-reorder-functions"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden -fno-enforce-eh-specs"
-O -march=i586と大して体感速度変わらなくても気にしない
265:login:Penguin
06/01/12 23:52:05 lMwJjwVt
age
266:login:Penguin
06/01/21 07:01:19 vwfA/GBb
kernelに
I-pipe・Adaptive readahead
ckからvm-mappedパッチ、hzの値を任意に変更できるパッチを当てる
hzの数値は1728
後はsysctl.confに
kernel.threads-max = 65535
fs.file-max = 65535
vm.readahead_ratio = 100
vm.readahead_hit_rate = 5
vm.hardmaplimit = 0
vm.mapped = 10
追記
後はswapをパーティションからファイルに変更
ごわごわした体感がきびきびになった感じ
267:login:Penguin
06/02/16 19:39:29 I+0mKfgz
暇なのでflag晒してみる
-O2 -pipe -s -march=athlon64 -m32 -mfpmath=sse -msse -msse2 \
-funit-at-a-time -fomit-frame-pointer -momit-leaf-frame-pointer -fno-var-tracking \
-ftree-vectorize -ftracer -floop-optimize2 -funswitch-loops -ftree-loop-im \
-fgcse-sm -fgcse-las -fgcse-after-reload -fweb -frename-registers \
-funsafe-loop-optimizations -ffast-math
268:login:Penguin
06/02/18 12:38:45 GDUX4TR2
デバッグしないのならリンカーに-Wl,-s渡せば-Osにしなくとも充分サイズ縮まって速度は変わらないまま行けるな
姫野ベンチ
gcc -O2 -march=athlon-xp -pipe -Wl,-s size:8.3kb Grid-size=S 67MFLOPS
gcc -Os -march=athlon-xp -pipe -Wl,-s size:7.4kb Grid-size=S 57MFLOPS
-Wl,-s無しだと双方とも10kbオーバー。ベンチ結果は変わらず。
GCCは4.0.2
269:login:Penguin
06/02/18 12:51:00 M+2Pe4iM
x86な人は-mno-align-stringopsも悪くない
270:login:Penguin
06/02/23 14:09:30 ORgvzJHl
URLリンク(kernel.jakem.net)
から遺伝的アルゴリズムの部分を削除してみた、これはこれで音飛びしないし悪くないかも。x86の2.6.15でしかテストしてない。自己責任。
Index: 2.6/include/linux/sched.h
===================================================================
--- 2.6.org/include/linux/sched.h2005-08-15 16:16:26.000000000 -0500
+++ 2.6/include/linux/sched.h2005-08-15 16:18:21.000000000 -0500
@@ -143,6 +143,20 @@
#include <linux/spinlock.h>
/*
+ * These are the 'tuning knobs' of the scheduler:
+ *
+ * Default configurable timeslice is 100 msecs, maximum configurable
+ * timeslice is 1000 msecs and minumum configurable timeslice is 1 jiffy.
+ * Timeslices get renewed on task creation, on wake up and after they expire.
+ */
+#define MIN_TIMESLICE1
+#define DEF_TIMESLICE(10 * HZ / 1000)
+#define MAX_TIMESLICE(1000 * HZ / 1000)
+#define DEF_DESKTOP_TIMESLICE ((DEF_TIMESLICE > 10) ? (DEF_TIMESLICE / 10) : 1)
+
+#define DEFAULT_UNPRIV_RT_THRESHOLD 10
+
+/*
* This serializes "schedule()" and also protects
* the run-queue from deletions/modifications (but
* _adding_ to the beginning of the run-queue has
271:login:Penguin
06/02/23 14:10:30 ORgvzJHl
Index: 2.6/kernel/sched.c
===================================================================
--- 2.6.orig/kernel/sched.c2005-08-15 16:16:26.000000000 -0500
+++ 2.6/kernel/sched.c2005-08-15 16:18:21.000000000 -0500
@@ -85,3 +85,4 @@
-#define MIN_TIMESLICEmax(5 * HZ / 1000, 1)
-#define DEF_TIMESLICE(100 * HZ / 1000)
+#define MIN_TIMESLICE1
+#define DEF_TIMESLICE(10 * HZ / 1000)
+#define MAX_TIMESLICE(1000 * HZ / 1000)
#define ON_RUNQUEUE_WEIGHT 30
272:login:Penguin
06/02/26 14:26:39 P0wgzWH7
なんでHZは100、1000と来て半端な250なんだろう
500のほうがパフォーマンス・省電力的にもいいと思うんだが
273:login:Penguin
06/02/26 22:00:56 nHV3UYSp
>>272
ベンチとパッチを添えてLKMLへgo!
274:login:Penguin
06/02/27 11:02:02 1Egv0MIp
>>272
それLKMLで散々議論されたよ。
最終的には、リーナスの鶴の一声で終わった希ガス。
#ぶっちゃけ、正しい値なんて無いよ(環境違うと値も変わるし)
275:login:Penguin
06/02/27 14:39:32 1LjKfRfr
gcc 4.1で姫野ベンチS
-O0 -pipe -DSMALL 83MFLOPS
-O1 -pipe -DSMALL 291MFLOPS
-O2 -pipe -DSMALL 258MFLOPS
-O3 -pipe -DSMALL 259MFLOPS
-O1が最速な件について
276:login:Penguin
06/02/27 18:25:56 1LjKfRfr
CPUはAthlonXP、
-O1に -fstrength-reduce -fprefetch-loop-arrays付けたら1割程ベンチ結果が良くなった
-O2や-O3の立場ないな、gcc4.1
277:login:Penguin
06/02/27 20:02:03 1Egv0MIp
>>275,276
詳細に知りたいなら
やはり生成されたコードみるのが一番だ。w
278:login:Penguin
06/02/27 23:18:51 74EhIevN
>>275
ヒント。footprint
279:login:Penguin
06/09/16 02:47:16 nWBaFZS+
保守
280:login:Penguin
07/05/11 10:24:21 IclmDtdK
>279
「定期的な保守が最良のパフォーマンスチューニング」という意味?
281:login:Penguin
07/05/14 17:51:36 /Taxc8HZ
>>252
たしかにそれも一理ある
282:login:Penguin
07/05/14 19:06:20 5fWNtpNo
うまく動いているものは触らない
283:login:Penguin
07/05/14 22:46:30 QX1St6KG
たかが「PC」サーバーなのに、テスト環境持ってない奴多すぎ。
テストして確信があって変更加える奴は、「うまく動いているものは触らない」
なんて言わないぜ。
>>280
あんたは正しい。
284:login:Penguin
07/05/26 00:42:48 0vvpPe8X
hosyu
285:login:Penguin
07/07/10 14:32:16 18GSmHEg
一日にわたって、どんなプロセスがいつ起動されてどの程度メモリと
CPU時間を消費し、どのていどディスクIOを発生させ、
また、最大でいくつTCPコネクションを同時に開いたかという
情報を収集したいと思っています。
(いままではトラブルっぽいときに top で眺めてアドホックに対処してました)
sysprof がその用途にかなっていると思うのですが、どうでしょうか?
また遠隔で ssh でログインするしかないのですが、その場合は
X をトンネルで飛ばすしかありませんか?
286:login:Penguin
07/07/11 00:00:27 KKfnKy5V
>>285
さあぁねえ
287:login:Penguin
07/07/11 01:19:56 QpW+YHM2
うまく動いている物は触る必要がないんじゃないのか?
必要なパフォーマンスが出ないとか機能が足りないとかセキュリティに
問題があるとか、なんかしらの必要が無いのに触りたいってのは、それ
こそテスト環境だけでやってろって話だと思うが。
と言ってみるてすt
288:login:Penguin
07/07/11 09:58:10 BD6VBK6/
mrtg
289:login:Penguin
07/07/13 20:45:38 2ZKs87kv
Tweak ubuntu for speed
URLリンク(tvease.net)
290:login:Penguin
07/08/05 02:09:21 YQ3bjemY
age
291:login:Penguin
07/08/08 02:22:53 G1QcNwNo
パフォーマンスチューニング考えるより
Quad-Coreを2ソケにした方が早いのには萎えた。
292:login:Penguin
07/08/08 02:27:44 gwGHMtux
そら当然じゃ…
293:login:Penguin
07/08/08 02:35:45 G1QcNwNo
ペンギン8匹出すためだけに
古いknoppixを入れてしまったw
294:login:Penguin
07/10/14 08:26:06 Z1+eNroa
URLリンク(opentechpress.jp)
でやってるDMA有効化って、最近のディストリは標準で有効になってますよね?
295:login:Penguin
07/10/14 20:20:14 iQTMbnsw
DMAは有効になってるものが多いけど、
multicountやreadaheadまで自動で最適化されているものは見たことがない
296:login:Penguin
07/10/30 14:55:24 Ur3y58dD
>>291
それをさらにチューニングするんだ
297:login:Penguin
07/11/24 00:44:56 lC7phVQh
blockdev --setraとかはどう?
298:login:Penguin
07/11/24 21:16:44 ydsrJmgw
どうもこうも…
299:login:Penguin
07/12/26 21:05:18 +vtor5nX
glibとかには-fpicつけて握るべき?
ロード減ったりする?
300:login:Penguin
08/03/26 15:09:40 cxp4sqCR
URLリンク(pastebin.windy.cx)
このように init が CPU 時間を 100% 食ってしまうことがあるのですが、
何が理由でこのようなことがおきるのでしょうか?
リブートすれば元に戻るのですが、何がきっかけで
このような状態になるのかわからず悩んでいます。
ディストリビューションによらず一年に一度くらい経験するので、
なにかカーネルオプションとかが影響しているのかとも思うのですが、
原因がわからないのでそのままにしています。どなたか
情報お持ちではないでしょうか?
301:login:Penguin
08/03/30 11:24:06 jFm+8ci3
>>300
niが50%くらいだから、SMPならなにかのデッドロックだと思う。
ユニなら判らん。
302:login:Penguin
08/05/05 18:09:53 GqcTgusP
>>300
HDD熱暴走は?
303:login:Penguin
08/07/20 12:17:54 CjO8L7rN
保守
304:login:Penguin
08/07/20 13:21:27 hIdKokXB
捕手
305:login:Penguin
08/07/20 13:46:53 QLBAJ0IH
投手
306:login:Penguin
08/07/20 15:33:49 DclP9fHP
野手
307:login:Penguin
08/07/20 18:17:54 8ABXsSuq
\
::::: \
\::::: \
\::::: _ヽ __ _
ヽ/, /_ ヽ/、 ヽ_
// /< __) l -,|__) >
|| | < __)_ゝJ_)_>
\ ||.| < ___)_(_)_ > シュシュ
\| | <____ノ_(_)_ )
ヾヽニニ/ー--'/
|_|_t_|_♀__|
9 ∂
6 ∂
(9_∂
308:login:Penguin
08/07/20 18:42:52 YovRPAEh
ジャンジャン
しゃいならー!
309:login:Penguin
08/10/02 22:47:42 VgcPNTwj
それなりのスペックのマシンでインテルのSSD試した奴いないのか?
リナではディスクアクセスの速度が起動速度に直結してるからめっさ早くなると思うけど