探検


linux パフォーマンスチューニング

1login:Penguin
垢版 |
04/03/03 09:44ID:QH+di3pA
linuxの高速化、快適化のテクを語りましょう。
142login:Penguin
垢版 |
04/05/27 23:39ID:5XO3zFBX
>>141
俺もそう思うよ。俺はデフォルトのままだけどさ。
そろそろasにするつもり。
143login:Penguin
垢版 |
04/05/27 23:40ID:5XO3zFBX
>>141
俺もそう思うよ。俺はデフォルトのままだけどさ。
そろそろasにするつもり。
144login:Penguin
垢版 |
04/05/28 01:06ID:IFP5P9AS
ファイルシステムを noatime でマウントすると、すげー早くなるよ
定期的にtouchしておかないと、必要なものまでtmpwatchで消されることがあるけどね。
04/06/06 18:02ID:h6j6oJ6h
sage
04/06/16 20:56ID:PydZl/8P
良スレかと思いきや
普通に糞スレだな
147login:Penguin
垢版 |
04/07/01 00:33ID:7mSkS8SO
gcc-3.4でglibcやXやGTK+、ブラウザなどを再コンパイルしたら目に見えてパフォーマンスがあがった。
なんかきびきびするようになったよ。nvidiaドライバが動作しないのが残念。
皆さんもやってみそ!
04/07/01 00:55ID:xvCGYG2O
gcc-3.4、-ffast-mathでgcc本体のコンパイル通るのね
149login:Penguin
垢版 |
04/07/02 02:12ID:ypyFP36f
でも、もしかしたらそのできたgccでコンパイルするのは微妙かもね。
-ffast-mathって怖くて使えないよ。でも、かなり速くなるんだよねえ。
04/07/04 10:28ID:VWaEml5S
姫野ベンチ+Athlon2200+で何をやっても-O2と大差なかったよ・・・
_|ー|_O
04/07/07 15:28ID:zmN0dWYU
"-finline-limit=n"で600より大きい値を指定するほうが効果あるよ。
152login:Penguin
垢版 |
04/07/08 20:10ID:tB9ymQLQ
>>150
でも、-marchをつけると、特にathlonやpentium4ではけっこう、効果がありません?
-msseとか-mmmxは微妙らしい。精度が変わるみたい。
-mfpmath=sse,387はけっこう効果があるみたいだよ。
04/07/08 22:19ID:CfWAKG2q
>149
i686でgccコンパイルしただけで散々な目にあったよ。
しかもパフォーマンス全く変化無し。
154login:Penguin
垢版 |
04/07/09 03:17ID:i7tb//Wq
>>153
gccはまずいっしょ。gcc,binutils,glibcはなんもいじらないほうがいいよ。
と、LFSに書いてあるので俺はやったことがない。glibcに限っていじった
ことがある。とくにトラブルは起きなかったけど怖いからやめた。
155login:Penguin
垢版 |
04/07/10 21:43ID:71u01XMu
CFLAGS="-march=pentium4(athlon-xp) -msse -msse2"とかを一生懸命やっている人へ。

$ gcc -v -Q -march=pentiu4(athlon-xp) *.c
で展開されるオプション見なさい。
04/07/28 16:14ID:4F2vEUH5
速いパソコンに入れ替えると速くなるよ。
04/08/15 13:02ID:6hrmnQGZ
>>156
富豪め
04/08/22 21:41ID:6naR+uSv
>>157
貧民め





とか言いつつ俺もそんな余裕ないっつーの
159login:Penguin
垢版 |
04/08/23 03:55ID:hd2hifjc
>>156
速いパソコンでさらに高速化できたらいーじゃん。
160login:Penguin
垢版 |
04/08/25 22:30ID:55KHPXty
Vineは/etc/sysconfig/harddisksをいじると猛烈にスピードアップしますよ。
RedHatとかも若干早い気がします。
後は使わないIMEをアンインストール。RunLevel3でしか動かさないなら
xfsとXFree86と関連パッケージを全部アンインストール。

起動を早くするにはkuduを起動しなくする事と、Fedora2なら/etc/readahead.early.filesを編集してみる。
161login:Penguin
垢版 |
04/08/26 00:30ID:Jc7Hy+pP
> 起動を早くするにはkuduを起動しなくする事と

ブートアップを速くして一体なんのご利益があるのか
小一時間以下省略
まったくドザじゃあるないし。
04/08/26 00:39ID:VMkk9uwN
>>161
複数のkernel試すとき起動が遅いとむかつくじゃん。
kudzuなんて初回くらいしか起動しないけどな。

>>160
パッケージ抜いて速くなるのか?
163login:Penguin
垢版 |
04/08/26 00:53ID:HK3GWsx5
>>162
起動しないだけでもOKですが抜いてしまうことでX関係の機能が全くなくなる
の何となく安心だと思います。
04/08/26 08:35ID:lvxD9YEW
>>163 (゚Д゚)ハァ?
04/08/28 08:13ID:rWt+WZbi
最適化フラグをきちんと設定して、gentoo linuxをstage1から入れろ。
166login:Penguin
垢版 |
04/08/30 01:39ID:EeAI/QYE
>>165
きちんとってどうきちんとか教えて!パッケージ毎に。
04/08/30 02:13ID:Ezt1RJwQ
今更だけど、お前らのsysctl.confを晒せ
みたいなスレタイのが良かったんじゃないかなぁ。
168login:Penguin
垢版 |
04/08/30 03:14ID:EeAI/QYE
sysctl.conf以外にもいじるとこってあるんじゃん?
04/08/30 03:21ID:Oe+hd679
YOPERとかいうのが速いらしいよ
170login:Penguin
垢版 |
04/09/20 10:25:14ID:NRIhf3Lu
prelinkなんてどうでしょうかあ?
04/09/20 19:40:54ID:YEL6FkS3
>>170
最初から既出
172login:Penguin
垢版 |
04/09/21 01:30:38ID:Cn4l/akr
Xの描画の重さをなんとかしたいと思ってXを最適化しまくってコンパイルしたり
したけどそれほど効果なし。何かいい方法はないのかな?と思う。
みんなやることだけどカーネルを自分のCPUに最適化してるかしてないかで
全然違うね。特に何かをビルドしてるときによくわかる。
さらにgtk2重すぎ。
04/09/21 01:44:02ID:eJzz34YD
とりあえずmtrrとDRI
174login:Penguin
垢版 |
04/09/21 02:27:03ID:Cn4l/akr
みんなやってるっしょ。mtrrは自動だしDRIも自動みたいなものでしょ。
175login:Penguin
垢版 |
04/09/28 17:56:39ID:JYYTgJYv
おまえらすげーな。何いってるかほとんどわからん。
ところでプロファイラ何使ってる?
04/09/28 17:59:10ID:JYYTgJYv
すまん誤爆した
04/09/29 20:06:47ID:MPeQ2YkQ
>>172
nvidia
178& ◆vrpD0QYOu.
垢版 |
04/09/30 01:11:51ID:2KSXrZCm
>>177
nvidiaドライバ使ってるんだけどね。それでも遅いね。
windowsとまでは言わないけどgtk1くらいの描画スピードにはなってほしいな。
04/09/30 21:29:48ID:quSjD/Sw
>>173
俺の環境は
CPU: Crusoe (mtrr対応してない)
VGA: siliconmotion(DRI対応ドライバがない)
だ。もんくあるか。

でもsiliconmotionのMAN見ながらxorg.confに
Option "pci_burst"
したらちょっと速くなった。

おまいらもビデオチップのMANはよく読んどけよ。
180login:Penguin
垢版 |
04/10/14 12:44:21ID:hLloQRhc
卒業研究でPCクラスタを構築して,並列処理の効率をあげる研究を
しています.
FedoraCore2 がインストールされているマシンなのですが,
FreeBSD 4.10Rがインストールされているマシンと比較して,
どうしても性能が上がらなくて困っています.

ハードウェア構成は,Xeon 2.6GHz x 2 のSMPで,チップセットは不明ですが,
ハイパースレッド対応のものです.
メモリは1GBで,HDDはシーゲートの120GB 7200rpm のものを使っています.
HDDは,UDMAで認識されています.

特に通信速度とディスクIOの性能が著しく悪く,現在開発中のソフトウェアで,
ベンチマークをとってみたのですが,同じスペックのハードウェアで
FreeBSD 4.10-stable が入っているマシンの半分ぐらいしか性能が出ません.

特に,オンボードでintel のギガビットNICがついているのですが,
FreeBSDがインストールされているマシンの30%ぐらいの速度を
出すのがやっとのようです.

ネットワークやディスクに関して,どの部分でチューニングすれば
性能が向上しますか?
04/10/14 12:57:48ID:6OxvpXfB
それだけだと、ソフトの問題かOSの問題か分からない。
もっとメジャーなツールでの比較をお勧めする。

その上で、どこがネックになっているのかを見つけてみたら?
04/10/15 04:58:06ID:3GoXBvcu
>>180

でも、FedoraCore2だったら、おおむねFreeBSDの方が
いろいろな点で速いよ。
183180
垢版 |
04/10/15 13:55:50ID:g34oeDEu
>>181
>>182

レスありがとうございました.
メジャーなツールでの比較ですが,bytebenchなどいくつかやってみたのですが,
いくつかの項目で Linux の方が速いものの全体的には FreeBSDの方が速いようです.

それで試しに,お互いのPCのHDDのみを交換して速度を計ってみましたが,
結果は変わらないようです.

この場合でも我々が開発したソフトウェアでは,やはりLinuxの方がネットワーク速度は
著しく遅いし,HDDの読み書きも遅い状態です.
なぜFreeBSD側の方がこれだけ速いのか,非常に謎です.

なお使用したHDDは,Linux, FreeBSD共に同じ時期に買った同じ型番の
ものですので,HDDそのものの性能差はないと思います.
LinuxとFreeBSD共に設定はインストールしたままのデフォルト状態です.

Linuxの方は,一度再インストールしたのですが,結果は変わりませんでした.
04/10/15 17:14:18ID:spYpf5KW
>>183
>HDDの読み書きも遅い状態です.
DMAはonになってます?
FedoraCore2使ったことないのでハズしてるかもしれませんが,
ディストリビューションによっては
hdparmでonにする必要があるかと思うのですが.

180には
>HDDは,UDMAで認識されています.
とありますが「起動時のIDEドライバのログ見て仰ってるのかな?」
と気になったもので
04/10/16 01:57:08ID:KrUqiEJ7
>183
煽るつもりはないけど、「著しい」差があるとすれば、
やはり、そのプログラムに依存した問題なのでは。
186login:Penguin
垢版 |
04/10/16 03:51:47ID:np9h0it3
どーせあれだろ。fedoraは最初インストールしたまま何も
いじってない状態なんだろ。それなら激重だよ。他のディストリと
比べてもfedora(redhat)は重いしさ。
04/10/16 04:07:21ID:KrUqiEJ7
だとすると、他のプロセスに処理を食われてて遅いという
可能性? >183 は、それくらいは分かってると思うけど。

後は、LinuxでどのFSを選んでるかもあるけど、(ジャーナルがあって遅いとか)
どうやら、遅いのはHDDへの書き込みだけでなく、
ネットワークの転送速度も差が出てるっぽいね。
04/10/16 11:37:28ID:XowrYbqE
FedoraだけXWindow上で動いてたりして
04/10/16 21:36:17ID:fISuiUFT
gcc 3.3.4の-finline-limit=n(だったような)の、Nの標準値って幾らなんでしょうか。

10000だとか600だとか、サイトによってバラバラで分かりませんでした。
04/10/16 22:04:32ID:CoPPWdsH
>>189
ソース
04/10/17 00:02:45ID:cUSbg/sO
>>188

FedoraではXが動いているだけでネットワーク速度が
30%とかにまで低下するの?
192login:Penguin
垢版 |
04/10/17 00:45:27ID:cUSbg/sO
>>191
Fedora 重杉あげ
04/10/17 01:35:24ID:516OgCO0
>>180
Fedoraがどうかはしらないけど、RedHatでクラスタくむとき、
RedHat純正カーネルにあたってるvmだかスケジューラだかのパッチが
タコで、全然パフォーマンスがあがらない、ってのがあるらしい。

とりあえず、カーネル入れ直してみたら。
04/10/17 02:50:35ID:cUSbg/sO
Fedora は X を切った状態でもなぜか非常に重い。
いや、赤帽も重かったのだが。

Debian とかを使えば、速くなるってことはない?
FreeBSDに負けっ放しっていうのはちょっとな。
195いなむらきよし
垢版 |
04/10/17 22:02:46ID:s6spoUga
Linuxなんかいじりまわしてる事自体が痛い行為だと気付いたほうがいいキケー!
04/10/17 22:10:58ID:1Dz+F/fC
んじゃナニいじればいいのさ
197login:Penguin
垢版 |
04/10/17 22:19:53ID:cUSbg/sO
>>193

とりあえず、Fedoraをやめる方向でいくというのはどう?
Debian お勧め!
04/10/17 22:49:20ID:umP+73pC
んじゃナニをいじればいいのさ
04/10/18 00:06:05ID:Ug0/SrBf
glibcにO3フラグつけないほうがいいのかな
glibc以外は全部O3つけてもいいのか
200login:Penguin
垢版 |
04/10/18 00:23:19ID:qrPYdPgG
>>199
つけないほうがいいらしい。
04/10/18 00:26:52ID:XnBlNM/6
-O3よりむしろ自分のCPUに合わせて-marchとか付けた方がいい
04/10/18 00:36:19ID:Ug0/SrBf
>>200-201
そうですか、ありがとさんです
203login:Penguin
垢版 |
04/10/18 02:07:51ID:qrPYdPgG
>>199
でも,glibcには何もつけないほうがいいらしい。
04/10/20 00:55:36ID:YXU95AC8
glibcとemacs以外全部に
-O3 -march=k6-2 -mmx -m3dnow -pipe -fomit-frame-pointer
つけて動かしてみました
04/10/20 08:45:05ID:AcDaFgHS
>>204
k6-2ユーザーキタ────!!! 人柱乙。

今さら遅いが The LFS Book によれば binutils と
gcc も CFLAGS を変えない方が無難らしい。

実際、uclibc toolchain のビルドで -march=k6-2 を
つけたら失敗して、デフォルトの CFLAGS にしたら
うまくいった経験がある。
04/10/20 10:35:10ID:WhQ56Zcz
K6-IIIだけど -march=k6 と -pipe しか指定したことない。
不充分?
04/10/21 07:25:00ID:8eaZ8C2p
grubにはフラグつけちゃダメなのねorz
04/10/21 07:29:00ID:8eaZ8C2p
>>206
ttp://www.freehackers.org/gentoo/gccflags/flag_gcc3.html
を見ると-march=k6-3まで指定できるらしい
04/11/13 02:07:45ID:HmLE8p90
Firefoxをこんな感じで最適化してる @gcc3.3.5
--enable-optimize="-pipe -ftracer -O2 -march=athlon-xp -mfpmath=sse,387 \
-frename-registers -fforce-addr -fprefetch-loop-arrays \
-fno-math-errno -fno-trapping-math -fno-signaling-nans"

ckなカーネル使ってる人なら
kernel.interactive=1
vm.hardmaplimit=0
vm.mapped=66
ここらへんいじってみるのもいいんじゃないかな。
05/01/27 23:20:32ID:TvhvRMQk
起動高速化したいっす。
05/01/28 08:52:17ID:WnJwE4bn
最低限のカーネルにして、init=/bin/sh
212login:Penguin
垢版 |
05/01/29 04:42:54ID:+EbRr8MP
今のところPenIII800Mhzで起動時間6秒がオレの最高記録
超意味無かったけど
05/01/31 13:37:15ID:uJm0UdQS
6sec mo kakatteruno?
osso---
05/01/31 14:45:59ID:Pk4W4dbQ
デスクトップ用途なんですけど、起動高速化のポイントを教えてチョンマゲ。
05/02/01 16:27:31ID:I6tDQf3J
ttp://bootchart.sourceforge.net/
05/02/01 20:24:57ID:FATIS0Zt
デスクトップ用途なら、起動高速化するより
ハイバネーションしたほうがよくね?
05/02/01 20:59:42ID:XbA2uZyK
え、いつのまにLinuxでハイバネ出来るようになったんだ?ACPIで?
05/02/01 21:05:45ID:ni2Ix7l6
ハイバネーション自体は10年近く前からできたと思うが。
Thinkpad560でハイバネーション使ってたし。
05/02/02 19:48:13ID:znbKGKHD
>>217
Power Management supportにSoftware Suspendがある。
これはACPIとかAPMには依存しないらしい。

漏れも、リブレットでハイバネーションしてた気がする。
もう全然覚えてないんだけど。
220login:Penguin
垢版 |
05/02/10 12:15:54ID:oOWFqUeh
>>214
ガンガンモジュール化してカーネルサイズをできる限り小さくする。
起動するデーモンの数を減らす。
ブートスクリプトからif文を極力減らす。
05/02/10 12:28:24ID:brMmHycg
>ブートスクリプトからif文を極力減らす。
前2つはもちろんやってるんですけど、この辺りが難しい。
取捨のポイントとか、ノウハウがあったら教えて欲しい。
222login:Penguin
垢版 |
05/02/10 20:35:34ID:oOWFqUeh
>>221
俺もあんま詳しいわけじゃないんだけど例えば、
if devfs
else udev
fi
みたいなかんじでudevを使うとしたらこういうときはudevがあること前提で
if文による存在確認なしでudevを実行しちゃうとか。
おれはarch linuxをベースにいろいろやってんだけどブートスクリプトを
起動順におっかけるとシステムの理解にもつながると思うよ。速くなる効果は
そんなにないと思うけど。デーモンの起動スクリプトなんかはだいたい
条件文使ってる場合が多いけど自分専用なら無条件で起動してもいいんじゃん?
汎用性は思いっきり下がるけどね。ただfedoraとかでは難しいんじゃないかな。
ブートスクリプトが複雑すぎる。plamoやslackやcruxやarchなんかは
わかりやすいよ。
05/02/10 22:47:50ID:dGBvqZF8
うーん。もちろん起動スクリプト(rc.sysinit)は追ってるんですけど
大きな流れはわかるけど、どれが必要か、どれが不要かって悩んでるんですよ。

例えばquotaとか、usb-file-systemとか、そういう所のチューニング方法のノウハウはないかなと。
ずっと前から、ちょっとづつ見てるんですけど、なかなかポイントが見出せないんです。
とりあえず、起動メッセージを(redhat型の)旧来型にしてる位はやってます。
05/02/10 22:50:17ID:dGBvqZF8
書き忘れましたが、Vine3.1を使ってます。
05/02/11 09:15:30ID:+gDG48b5
>>223
こーゆーアプローチもあるみたいよ。↓の「起動プロセスの高速化」のとこ。
ttp://www.debian.org/News/weekly/2004/46/
デスクトップ用途だと稼ぎ代があまりないかもしれんけど。
05/02/11 12:15:56ID:2fRHG2mE
ありがとうございます。

ですが、その類のサーバー類全て動いてません....
05/02/16 19:29:02ID:k+Jq8o1L
WinXPのアンチエイリアスとかClearTypeのベンチ結果。2kと比べて遅いという結果。
ttp://www.atmarkit.co.jp/fwin2k/xp_feature/015xpperftes01/xpperftes05.html
Linuxだとどうなる?gtkとかqtとか。
228login:Penguin
垢版 |
2005/04/15(金) 19:23:18ID:xiZGb7YY
ttp://www.anandtech.com/printarticle.aspx?i=2114
SuSE速いね。Fedoraはどっか壊れてる。
2005/04/18(月) 06:00:42ID:DrxBHwMs
gcc以外のコンパイラ試した人いる?
intel純正のFree版 for Linuxとかどうなの?
gccより速いのは分かってるんだけど話題に上がらないのなんでかな?
2005/04/18(月) 17:33:59ID:eo0WeKNL
とりあえずiccインストールしてみた。
パフォーマンステスト用のいいソースコードない?
2005/04/18(月) 23:35:36ID:Htx2oGDV
intel compiler for Linux part2
http://pc8.2ch.net/test/read.cgi/linux/1090826179/l50
2005/04/19(火) 02:18:21ID: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
2005/04/19(火) 08:19:48ID:YESwyIJd
先週立ち読みしたUNIX USERにiccの記事があったよ。これだったかな?
ttp://www.unixuser.jp/magazine/2005/200504.html
gzipとかbzip2とかでテストして、速くなったり遅くなったりという結果だった。
遅くなるやつは、gcc向けにソース書いたりしてて遅くなるのかな?
2005/04/19(火) 09:02:41ID:6IdIWu//
FFTは逆に遅くなるのか・・・・・・
面白い結果だな
2005/04/19(火) 21:01:49ID:nKiiE0YZ
FireFoxのconfigure覗いたらiccにも対応してるのにやり方が思いつかない。
何度読んでも分からない。
くやしいな。
2005/04/21(木) 07:21:33ID:eQKDCXcw
specちょっと書き換えるだけでiccに変更できる。
はずだったけど一部直にgccと埋め込んであるmakeがあり苦戦中、反則だよ。
firefoxってwin,Mac,linux、ソースコード共通なんだね、びっくりした。
ついでにfirefoxのconfigure。
1040行めのifに対するelseが1975行め、こんなの読めるわけねぇだろ!


2005/04/22(金) 00:38:45ID:8MAiPa+M
>1040行めのifに対するelseが1975行め、こんなの読めるわけねぇだろ!
ワロス
2005/04/22(金) 00:39:58ID:g6dMQ8o8
うmナイスな突込みだ
239login:Penguin
垢版 |
2005/05/01(日) 14:15:29ID:CzA+N7/M
>>237
俺もそう思う。Fedoraとかのブートもそういう域に入ってると思うな。
全体的に見通しをよくしてほしいね。
2005/05/01(日) 17:25:31ID:vkzC4gxx
2週間後にレスがつくとは。
firefoxのiccビルド完走したよ。
一応動いたけどちょっと遅い、最適化の失敗だと思う。
追いかける元気なし。
ビルドの進行状況は/BUILD/mozillaのファイル数で分かる。
5万4千ちょっとがゴール。
iccは大変だったけどgccなら何もしなくてもbuildできる。
やればi386の標準的なやつより速くなるよ。
2005/05/07(土) 00:02:44ID:9nFSTuty
すんなり通るかどうか分からん時は、まず最適化無しで試してみれば?
C++でも一瞬で終わる。
レスを投稿する


ニューススポーツなんでも実況