You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
どこの現場にも秘伝のたれ状態になったシェルスクリプトっていうのがあると思うのですけれども、ここの現場はみんなPHP使いなんでシェルスクリプト触りたくねえ、ていう状態のところに投入された僕が来ました。わしつい最近まで印刷屋さんだったんだけどもわしに任せてしまっていいんだろうか。 で、伝統を守り抜いたシェルスクリプトの中で自ホストに設定されたIPアドレスを得るコードがifconfigをこねくってeth0の所から得ようとしていたのですが、最近のサーバって必ずしもeth0が存在するってわけでもないのでこういう悪い習慣をここで断ち切ることになりました。 シェルスクリプトでIPアドレス得るために、シェルから使える環境変数で何か役立つものねえかなあと思っていたら、当然${HOSTNAME}は鉄板なんで、こいつをgetent hosts に入れてやればいいんでね、ていうアイディア。LinuxとFreeBS
最近のコンピュータだとCPUのコア数やスレッド数が多いので/proc/cpuinfoを直接読むよりまとめて出力してくれるlscpuやhwlocをつかったほうがよい。 最近コア数とか多いですね。デスクトップでもCore i7だと8スレッドとかありますしサーバだと4ソケット40コア80スレッドとかあります。 CPUがどういう構成なのか知りたい時は /proc/cpuinfo や /sys/devices/system/cpu/* を読むことが多いですが表示が冗長なのでつらいです。そこで適当にまとめて表示してくれるコマンドが便利です。 lscpuはCPUのキャッシュ構成とか、ソケット-コア-スレッドの個数の関係がわかります。実機で数回実行するとわかりますがCPU MHzのところは実際の周波数にあわせてちょいちょい変わるのでアテになりません。 出力はこんなかんじ: $ lscpu Archite
Today marks an exciting milestone for Red Hat as we share news of the beta availability of Red Hat Enterprise Linux 7. Since its introduction more than a decade ago, Red Hat Enterprise Linux has become the world's leading enterprise Linux platform, and it has helped set industry standards for performance, capacity, capability and security. Today, Red Hat Enterprise Linux is a leading force in ente
Thanks to Vijay D'Silva's brilliant answer in cstheory.stackexchange.com I have been reading some of the famous data structures and algorithms used in the Linux Kernel. And so can you. Linked lists, doubly linked lists, lock-free linked lists.B+ Trees with comments telling you what you can't find in the textbooks.Priority sorted lists used for mutexes, drivers, etc.Red-Black trees are used are use
iowait の時間って、I/O要求を出しているプロセスは Disk Sleep しているという理解でいいんだろうか。 ちょっとわからなくなってきた。 linux-2.6/kernel/sched.c /* * Account for idle time. * @cputime: the cpu time spent in idle wait */ void account_idle_time(cputime_t cputime) { struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat; cputime64_t cputime64 = cputime_to_cputime64(cputime); struct rq *rq = this_rq(); if (atomic_read(&rq->nr_iowait) > 0) cpu
Algorithms that are the main driver behind a system are, in my opinion, easier to find in non-algorithms courses for the same reason theorems with immediate applications are easier to find in applied mathematics rather than pure mathematics courses. It is rare for a practical problem to have the exact structure of the abstract problem in a lecture. To be argumentative, I see no reason why fashiona
socat っていうツールを使ってみたところソケット関連のちょっとした操作をこなすのにすこぶる使い勝手が良かった。 インストール Mac OS X なら Homebrew でインストールできる。 $ brew install socat $ which socat /usr/local/bin/socat Echo サーバを立てる socat コマンドにはソケットの入力と出力を指定する。 以下のようにすると TCP 8080 ポートで接続を待ち受けて出力は入力をそのまま cat することで TCP の Echo サーバになる。 v オプションで通信内容を表示する。 $ socat -v tcp-listen:8080 system:cat 別のターミナルから telnet コマンドで接続してみる。 $ telnet localhost 8080 Trying ::1... telnet:
Linux:OSのtcpタイムアウトのデフォルト値について † 例えば、curlを使用して、タイムアウト値を300秒に指定し、タイムアウトさせるよう無いことをしても、実際180秒を超えたくらいでタイムアウトする事象が発生していました。 これが、curlだけじゃなくて、例えばapacheのmod_proxy_balancerのバックエンドサーバへのタイムアウトについても、タイムアウト値を300秒とかでせっていしても、実際は180秒ちょいでタイムアウトしてしまっていました。 これについて、ちょっと調べたところどうもLinuxのOSとして持っているTCPのタイムアウト値が効いているようだ、ということがわかりました。 ここを見ると分かります。 #cat /proc/sys/net/ipv4/tcp_syn_retries 5 これはtcpのsynを送信するリトライ回数みたいで、以下のロジックでリト
Algorithms, Theory, Spirituality, Life, Technology, Food and Workout : trying to sort these deterministically in $\Theta(1)$ time (constant time). I happened to look at the algorithmic details of UNIX Sort, a LINUX version of the classic UNIX sort is a part of GNU coreutils-6.9.90. This is classic example of the standard External R-Way merge , to sort a data of size N bytes with a main memory size
inotify FAQ (Frequently Asked Questions) Q: What is inotify? inotify is an inode-base file system notification mechanism. See About for more details. Q: What can I use inotify for? inotify is intended for use in all cases of monitoring filesystem events. See Why to use for more details. Q: Which kernels do support inotify? inotify has been merged to 2.6.13. Your kernel must be configured to compil
米Facebookは10月10日、Linux向けの汎用キャッシュ技術「FlashCache ⒊0」を公開したことを発表した。SSDをキャッシュ用ストレージとして利用するための技術で、コストを抑えつつ性能を強化できるという。 FlashCacheはSSDをキャッシュデバイスとして使用するためのオープンソースプロジェクトで、Facebook社内で2010年にスタートした。Linuxカーネルデバイスラッパーのターゲットとして実装するというソフトウェアベースのアプローチをとる。データ書き込み時にHDDと同時にSSDにも書き込みを行い、読み出し時にはSSDを参照する。Facebookがユーザーデータを保持しているというMySQLとInnoDBエンジンと連携して動作するよう開発されているが、Linuxシステムのキャッシュシステムとしても利用できるという。 ⒊0は新しいブランチとなり、読み出しと書き込み
ハートビーツ最年長エンジニアの滝澤です。以前、弊社CTOにシニアおっさんエンジニアから若手エンジニアに向けて何か書いてくれと言われた気がしたので、アトミック(atomic)なファイル操作について3編に分けて紹介します。この内容は弊社の社内勉強会で話した内容をまとめ直したものです。 そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)←今回 そのファイル、安全に作成できていますか?(アトミックなファイル操作:中編) そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編) 今回は「みなさん、安全にファイルの更新ができていますか?」ということについて、考えてみましょう。 あなたはあるサーバ上のファイルの更新を依頼され、もらったファイルをサーバ上でコピーして上書きしました。しばらくして、データに異常が発生したので調べて欲しいと言われました。さて、何が起き
@ITに以下のような記事が出て、 今回からしばらくの間は、まったく逆の例、つまり使うとプログラムの処理性能が上がるというシステムコールを紹介していく。システムコールを呼ぶ回数は少ない方が処理性能は高くなるという原則は変わらないが、呼び出しておくと処理性能が向上するシステムコールというものが存在するのだ。こうしたシステムコールを使わないでいることは、とてももったいない。 今回紹介するシステムコールは「mmap(2)」だ。ここでは詳しく仕組みを解説しないが、mmap(2)は、プログラムの処理性能に必ず良い影響を与える。 やはりあった? 高速化に効くシステムコール (1/2):知ってトクするシステムコール(3) - @IT それを真に受けたのか、「Go言語でmmapシステムコールを使ったファイル読み込みの高速化検討とC言語のコンパイラの話 - ryochack.blog」のようなブログエントリも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く