2011年8月13日土曜日

CPUコア数を調べる /proc/cpuinfo

cat /proc/cpuinfo |egrep 'physical id|core' |sort

physical id の数字(種) ソケットに挿さっているCPUチップの数。
core id の数字(種)1コアのスレッド数
同じcore id が複数表示されたらそれは1つのコアあたりのスレッドの数

physical id が2通り = 2CPUチップ
同じcore id が2ある = 1物理コアあたり2スレッド(HyperThread)

$ cat /proc/cpuinfo |egrep 'physical id|core' |sort
core id : 0 スレッド1
core id : 0 スレッド2
core id : 1 スレッド1
core id : 1 スレッド2
core id : 2 スレッド1
core id : 2 スレッド2
core id : 3 スレッド1
core id : 3 スレッド2
cpu cores : 4
cpu cores : 4
cpu cores : 4
cpu cores : 4
cpu cores : 4
cpu cores : 4
cpu cores : 4
cpu cores : 4
physical id : 0 ソケット0
physical id : 0 ソケット0
physical id : 0 ソケット0
physical id : 0 ソケット0
physical id : 1 ソケット1
physical id : 1 ソケット1
physical id : 1 ソケット1
physical id : 1 ソケット1

CPUチップ 2つ
スレッド 2つ
CORE 4つ
8スレッド、topコマンドで見ると8個のCPUのように見える。


すばらしい!
http://wiki.princo.org/?CPU%A4%CE%CA%AA%CD%FD%BF%F4%A1%A6%A5%B3%A5%A2%BF%F4%A1%A6%A5%B9%A5%EC%A5%C3%A5%C9%BF%F4%A4%CE%C4%B4%A4%D9%CA%FD



2011年7月17日日曜日

assert機能 C言語

assert機能 C言語

-------------------------------------------

#include <stdio.h>

#if 0 /* アサート機能を無効にしたい場合はNDEBUGを定義する */
#define NDEBUG
#endif

#include <assert.h>

int main()
{
int a;

a = 99;
assert(a < 100);
printf("[OK]\n");

a = 101;
assert(a < 100);
/*printf("[OK]\n");*/


return 0;

}

--------------------------------------------------------------------------------------

#ifndef MY_ASSERT_H_
#define MY_ASSERT_H_


#ifndef MY_NDEBUG
/*#define myassert(expr) ((expr) ? 0: error_handler(__FILE__, __LINE__))*/
#define myassert(expr) ((expr) ? 0: printf("[ASSERT] %s(%d)\n", __FILE__, __LINE__))
#else
#define myassert(expr) /* none */
#endif


#endif





#include <stdio.h>

#if 0 /* アサート機能を無効にしたい場合はMY_NDEBUGを定義する */
#define MY_NDEBUG
#endif

#include "./myassert.h"

int main()
{
int a;

a = 99;
myassert(a < 100);
printf("[OK]\n");

a = 101;
myassert(a < 100);
/*printf("[OK]\n");*/

return 0;

}



2011年7月5日火曜日

アサート機能 assert

#include <stdio.h>

/*#define NDEBUG */ /* アサート機能を無効にしたい場合はNDEBUGを定義する */

#include <assert.h>

int main()
{
int a;

a = 100;

assert(a < 100);

printf("[OK]\n");

return 0;

}



実行例
$ ./myassert
myassert: myassert.c:13: main: Assertion `a < 100' failed.
Abort



2011年7月2日土曜日

2011年6月30日木曜日

vxWorks FTP タイムアウト時間

vxWorks FTP タイムアウト時間


config.h
ftpのタイムアウト時間を設定(追加)
--->
#undef FTP_TIMEOUT
#define FTP_TIMEOUT (30) /* 30sec */
<---


デフォルトは0
0だとFTP_REPLYTIMEOUTDEFAULT (10 秒 ) 。

ネットワークスタックプログラマーズガイド FTPクライアントの章



2011年6月25日土曜日

シェル csh if文 結果

シェル csh if文 結果

#!/bin/tcsh -v

LBL_START:

echo "start `date`"

DoMycommando

set result=$?

if ( $result != 0 ) then
echo "resutl = $result"
goto LBL_EXIT
endif

echo "Done `date`"
#sleep 5

goto LBL_START

LBL_EXIT:

echo "Done `date`"



2011年4月14日木曜日

Googleカレンダー 日本語検索

Googleカレンダーで日本語検索する方法

「検索キーワード 検索キーワード」を入力する。

例えば、「会議」を検索したい場合、検索欄に「会議 会議」と2回同じフレーズを入れると検索できるようです。
http://www.google.com/support/forum/p/calendar/thread?tid=0bcc7c9f378ff8bb&hl=ja