losing too many ticks 답변 메일…& 해결.

안녕하세요.
losing too many ticks 는
intel cpu의 speed step 과 관련된 오류로 보고 되고 있습니다.

bios에서 speed step 관련 기능을 off 하시기 바랍니다.

만약 그게 되지 않는다면,.. bios의 cpu관련 옵션들을 조정해 보시기 바랍니다.

혹, 성공하면 본 메일 주소로 회신 바랍니다.

참고로, sulinux는 서버 전용 리눅스이기 때문에, cpuspeed 관련 데몬은 정지
된 상태입니다.

supseruser.co.kr 에 요청한 기술지원에 대한 답변이 왔다.

문제인즉슨, 인텔의 speedstep이 원인이라고 한다.

그 기능의 옵션을 제거하면 된다는데...나로써는 찾을수가 없었다.

결국 하드를 분리하여 다른 컴퓨터에서 Test를 하려고 했으나 이게 웬걸...IDE가 아니었다. 나로써는 처음보는 커넥터타입인데...아무튼 연결 할 수 없었다.

아아...어찌해야 하는가..

혹시라도 싶어 메인보드의 시모스 전지로 뽑았다가 다시 꽂고, 하드디스크의 연결도 다시금 확인했다(한번씩 뽑았다가 다시 연결하였다).

그리고 나서 재부팅을 시도하니...삐빅!

정상적으로 가동된다....환장할 노릇이다.

나는 아무것도 한일이 없는데....아무리 내가 생각해도 내가 한 행동중에 서버를 고치는 그런 행동은 없었는것 같다. 전지와 하드를 뽑았다가 다시 꽂고 한 일 외에는...

설혹, 그것이 해결 방법이라한다면, 애초에 문제가 생길일이 없어야 했다. 왜냐면 나는 결코 시모스를 만진일이 없거니와, 서버에서 별다른 작업을 한 일이 없기 때문이다.

한마디로 멀쩡히 있다가 갑자기 고장이 생겼는데 저절로 고쳐진 셈이다...

참 황당하다..;;


.....문제의 서버. 옆에 Sun Ultra 60이 보인다. : )

loosing too many ticks…..

 loosing too many ticks…

 SECLAB 에 접속이 안된다는 이야기를 들었다.

 급히 서버를 확인해 본 결과…

 “loosing too many ticks”

 라는 메시지만 덩그러니 남아있을 뿐이었다.

 무슨일일까…왜 그럴까.

 아무런 입력도 먹지않고, ping 도, ssh…아무런 접속과 명령을 거부하는 상태였다.

 결국 재부팅을 시도했다..

 재부팅을 하니 곧 바이오스가 실행되고 부팅되는 과정을 천천히 바라보았다.

 하지만 이게 웬일…

 시스템의 권한이 OS로 넘어가는 순간(삑 소리가 나는 시점)

 또다시 먹통….

 익숙한 리눅스의 로고가 등장할 줄 알았으나…이게 웬일 아무런 메시지도 나타나지 않았다.

 그냥 검정색의 화면만 출력될 뿐….

 결국 superuser korea에 도움을 요청했다…

 과연 어떤 대답이 올지…

log2 (밑이 2인 로그 함수), log (ln), log10(상용 로그) 구하기

C에는 자연로그(Natural Logarithm)를 구하는 log() 함수와, 밑(Base)이 10인 상용 로그를 구하는 log10() 함수만 있기에, 밑이 2인 로그 등을 구하려면 직접 함수를 만들어야 한다. 아래 예제에 logB() 라는 함수가 있는데

logB(숫자, 밑)

이런 형식으로 임의의 실수를 밑으로 지정할 수 있다.

C에서, 자연로그, 상용로그, 밑(Base)이 2인 로그 계산 예제

#include <stdio.h>
#include <math.h>

double logB(double x, double base);


int main(void) {


  puts(”  자연 로그 :n”);

  for (double d = 1.0; d <= 10.0; d++)
    printf(”   ln(%2.0f) = %.16fn”, d, log(d));



  puts(“nnn  상용 로그 :n”);

  for (double d = 1.0; d <= 10.0; d++)
    printf(“log10(%2.0f) = %.16fn”, d, log10(d));




  puts(“nnn  밑이 2인 로그 :n”);

  for (double d = 1.0; d <= 10.0; d++)
    printf(” log2(%2.0f) = %.16fn”, d, logB(d, 2.0));


  return 0;
}




double logB(double x, double base) {
  return log(x) / log(base);
}

출처 : http://mwultong.blogspot.com/