리눅스 시간에 관해서 질문 드립니다.

paeksj98의 이미지

현재 인터넷이 안되는 환경에서 시간을 초까지 정확히 맞춘뒤에

추후 확인을 하면 한 2시간에 1초정도 빨라지는 문제가 발생하고 있습니다.

하루면 대략 10초가 넘고 6일이 지나면 1분이 빨라지고 한달 일년이 지나면..ㅠㅠ

이런경우 어디서 해결을 하면 쉽게 해결을 할수 있을지 조언 부탁드립니다.

인터넷만 되면 동기화 시키면 될텐데...

환경이 인터넷이 안되는 별개의 환경에서 사용을 해야 하는데..

기준점이 없다보니... 문제가 되네요;

한번 셋팅을 하면 쭉......정확해야 하는데...

yundorri의 이미지

CMOS의 H/W Clock이랑 동기하면 쫌 낫지 않을까요???

ktd2004의 이미지

하루에 10초정도가 틀어진다면,
강제로 하루에 10초를 되돌리면 안될까요?

인터넷이 안된다면 방법이 없을 것 같습니다만...

bushi의 이미지

2.6 커널은 어찌바뀌었는지 모르겠고,
2.4 커널은 주기적으로 RTC 와 동기합니다.
단, 사용자에 의해 시간이 바뀌면, 그때부턴 RTC 와 동기하지 않습니다.

PC 의 CMOS RTC 시계를 잘 맞춰놓으시고,
커널 부팅된 다음엔 시간을 바꾸지 말아보세요.

덧.

사실, RTC 도 믿을 것은 못됩니다.
cat /proc/driver/rtc
로 오차 확인해보세요.

OTL

bejoy4him의 이미지

네트웍이 안되는 환경에서 시간 틀어지는 것은 막기 힘들었습니다.

그냥 경험상의 이야기를 드리자면,
서버 켜놓고 몇달 운용하면 수 시간씩 틀어져 있기도 했습니다.
2대의 다른 서버에서 운용중인 이중화된 서비스가 서로 시간을 맞추기 위해 시간 조정을 하는 부분이 들어있는데
"bushi" 님의 말씀대로라면, 그 부분때문에 시간이 더 틀어져 버렸는지도 모르겠습니다.

GPS 신호를 수신하여 시간정보를 알려주는 장치가 있다고 알고 있습니다.
CDMA 관련 장비들은 GPS 신호에서 시간 정보를 수신받아 서로 동기화 시키더군요...
옆에서 보기만 했지, 어떤식으로 구성 운용하는지는 모르겠습니다. 죄송....

ikshin의 이미지

hwclock 커맨드의 --sys-to-hc, --hc-to-sys 옵션쪽을 한 번 살펴보시면 어떨까 싶네요.
만약 저 커맨드로 시간동기화 문제가 해결가능하다면, 해당 커맨드를 담은 스크립트를 런레벨에 등록하거나
cron을 통해 주기적으로 돌려주는 방법도 있겠죠.

- Human knowledge belongs to the world...

- Human knowledge belongs to the world...

paeksj98의 이미지

추가 적으로 문제 점들을 열거하면.....

질문 드릴때 언급을 못했는데 임베디드환경입니다. s3c2410입니다.

1. cmos도 좋은 방법일 듯 한데 우선 cmos가 없습니다...OTL...

2. 고맙게도 GPS를 언급 해주셨는데 이장비는 GPS 수신 모듈도 없습니다..ㅠㅠ

3. 만약 두시간에 딱 1초가 변한다면 커널 단에서 기준이 되는 값(?)을 찾아서 변경 하는건 가능할지.??

가능하다면 기준이 되는 값이 어떤값 혹은 어느소스에 어디를 보면 도움이 될지..??

4. ikshin님 말씀처럼 런레벨에 등록해서 두시간이 지날때 마두 1초씩 변화를 줘야할지.??

런레벨에 등록을해서 하면 너무 작은 오차로 마추기가 힘들듯 한데..??

ktd2004의 이미지

임베디드환경에서
* 외부에서 표준시간을 받아올 수 있는 방법(인터텟/GPS) 없음
* 자체적으로 정확한 시간을 얻어올 방법(RTC...) 없음.

그러면 3번에서 언급한 커널에서의 기준값도 없다고 봐야하지 않을까요?

cron등에 등록해서 주기적으로 오차만큼을 보상해 줄 수밖에 없다고 생각합니다.

다른 분들의 의견은 어떠신지요?

bushi의 이미지

리눅스 의존적이긴하지만, adjtimex() 라는 함수가 있습니다.
이 함수를 이용해 구현된 adjtimex 라는 유틸도 busybox 에 포함되어 있습니다.

OTL

paeksj98의 이미지

KTD 님이 쓰신내용중 보드에는 rtc관련해서 구성은 되어 있습니다.

하지만 2시간에 1초정도 빨라지는 문제....

시스템은 수시로 켰다 껏다 하는 상태 입니다.

도통 저 오차를 어디서부터 봐야 해결될지 모르겠네요...

adjtimex 라는 함수는 아직 접해 본적이 없어서 연구좀 해봐야겠군요...^^

여러가지 의견들 정말 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.