Hữu ích

Các giai đoạn của cuộc đời
Chi tiêu có kế hoạch
Lạm phát lối sống
Tích luỹ tài sản
Làm giàu không khó
Để tiền vào đâu
Những cách đầu tư
Đừng sợ chữ đầu tư
So sánh công cụ tích luỹ dài hạn
Chuẩn bị vào đại học
Tiền thưởng cuối năm
Vài số liệu về quỹ hưu trí tự nguyện ở Mỹ

Câu chuyện

Bài học phổ thông
Những hòn đá
Sứ giả của Đấng Thiêng Liêng
Bắt đầu đầu tư
Ước mơ thành tỉ phú
Những quyết định tốt cho tuổi già
Nghỉ hưu trước 40 tuổi
Tránh mang nợ
Dùng thẻ tín dụng một cách khôn ngoan
Để tiền mua nhà hay đầu tư
6 điều giúp tôi bớt lo lắng về tiền bạc
Sinh Lão Bệnh Tử

Lập kế hoạch tài chính

Giới thiệu
Thu chi
Hưu trí
Kế hoạch
Bảo vệ nguồn thu nhập
Tăng thu nhập
Tính thời gian trả nợ
Tính số tiền trả góp
Tính thời gian tích luỹ
Tính số tiền góp dần

Đầu tư cổ phiếu

Đầu tư cổ phiếu
Quỹ đầu tư
Maxx - Phúc Lộc Thịnh Vượng
Sổ tiết kiệm hay Quỹ đầu tư?

Các loại bảo hiểm

Các loại bảo hiểm
Phí bảo hiểm nhân thọ
Bảo hiểm nhân thọ liên kết chung

Kinh nghiệm

Máy tính

GnuCash
Bắt đầu dùng GnuCash
Dùng GnuCash ghi chép các khoản tích luỹ lâu năm
Các phép tính tài chính cần biết
Tiện ích di động
Gói cước di động nội mạng
RaspberryPi
Trò chơi học làm giàu Cashflow
Tạo tài khoản Google
Phần mềm mã nguồn mở
Phần mềm tự do
Máy in phun
In sách nhỏ
Pin Lithium Ion
Fax từ Linux
Linux
Spam
Chặn những cuộc gọi tiếp thị
Nhiệt độ CPU
Home server cũ

Chữ Việt

Vị trí dấu thanh
Unicode
UTF-8
Web Việt

Linh tinh

Bếp
Tiêu thụ điện
Điện standby
Máy lạnh
Máy lạnh inverter
Nóng
Nhiệt độ một ngày
Tần số của TV
Ảnh
Hồng ngoại

Ý kiến

Bắt cá hai tay
Nguồn gốc sự giàu có
Đo độ giàu có
Xã hội thông tin
Dùng hàng Việt
Gần mực thì đen, gần đèn thì sáng
Thành ngữ về tiền
Tiền và Máu
Giả trá
Những cái nêm
Khác người
Đã lên báo

Giới thiệu

Trang bìa
Thông tin chung
Thành tích
Lịch hẹn

Danh mục

Download
Mục lục

Linux

Để máy Linux không bao giờ bị treo cứng lâu

Kernel của Linux có các module để điều khiển các mạch watchdog trong máy. Các mạch watchdog đó có tính chất là một khi đã được bật lên rồi thì phải đụng đến nó đều đặn. Nếu nó thấy để lâu không đụng tới thì nó sẽ khởi động lại máy giống như ta bấm nút Reset.

Các máy PC trong khoảng 10 năm tuổi trở xuống thường có mạch watchdog sẵn trong mainboard. Có nhiều mạch watchdog tích hợp trong các chipset khác nhau, ví dụ như chip 8xx ICH của Intel, chip 83627HF của Winbond, chip M1535 của Ali… Để biết mainboard đang dùng có mạch watchdog nào thì phải biết nó dùng chipset nào bằng cách xem tài liệu hoặc lấy kính lúp coi số hiệu mấy con chip trên mainboard. Mainboard tôi đang dùng có chip ICH5 của Intel và có luôn chip 83627HF của Winbond, chỉ có watchdog trong ICH5 được dùng còn watchdog trong Winbond không dùng. Mainboard Pentium 100 thì cũng có chip 83877 của Winbond nhưng lại không được nối tới mạch reset nên không dùng được.

Kernel tạo sẵn trong các distribution thường có sẵn module watchdog driver cho nhiều loại chip. Ví dụ với máy cài FC6, kernel được build sẵn với các module driver sau:

[lhboi@desktop opt]$ ls /lib/modules/2.6.18-1.2798.fc6/kernel/drivers/char/watchdog/
alim1535_wdt.ko  i8xx_tco.ko  pcwd_pci.ko  w83627hf_wdt.ko  wdt_pci.ko
alim7101_wdt.ko  ibmasr.ko    pcwd_usb.ko  w83877f_wdt.ko
i6300esb.ko      machzwd.ko   softdog.ko   w83977f_wdt.ko

Nhìn tên một số file trong đám đó có thể đoán ra đó là driver cho chip gì: ALI M1535, ALI M7101, Intel ICH 8xx, Winbond 83… Nếu đã biết mainboard có chip nào trong đám đó thì load module đó lên bằng lệnhmodprobe w83627hf_wdt.

Nếu chưa biết chip nào thì cứ thử load lần lượt từng module vào. Khi load module mà không đúng với chip thì nó sẽ báo ngay là không đúng, nếu nó không báo gì hết thì dùng lệnh dmesg xem thông báo device watchdog đã được initialize

WDT driver for the Winbond(TM) W83627HF Super I/O chip initialising.
w83627hf WDT: initialized. timeout=60 sec (nowayout=0)
Load module rồi thử coi module đó có dùng được không bằng lệnh echo x > /dev/watchdog, rồi ngồi chờ chừng 1-2 phút, nếu máy khởi động lại tức là module đó dùng được. Máy khởi động y như bị bấm nút Reset chứ không phải là init 6, do đó nên thử ở runlevel 1 để ít ảnh hưởng tới các service của máy. Trong 1-2 phút đó có thể dùng lệnh dmesg để xem các thông báo của driver watchdog như:
w83627hf WDT: Unexpected close, not stopping watchdog!

Nhiều khi load module được nhưng máy không khởi động, đó là do mainboard có chip đó nhưng nó không nối tới mạch reset CPU. Nếu thử hết đám module đó mà vẫn chưa tìm thấy module nào dùng được thì config và build kernel lại để chọn những module khác (trong mục Device Drivers - Character devices - Watchdog Cards). Trong các module driver có một module là Software watchdog. Nó không dùng chip gì hết mà tự làm bằng code trong kernel, dùng tạm cũng được nhưng đôi khi không có tác dụng.

Để dùng watchdog, ta chạy 1 script gồm 1 vòng lặp bất tận, trong vòng lặp đó làm 2 việc là ghi vào /dev/watchdog và kiểm tra một số dấu hiệu chứng tỏ là máy còn làm việc bình thường. Chu kỳ của vòng lặp đó không lớn hơn x giây (x tuỳ thuộc vào chip và thông số đặt cho watchdog, thường trong khoảng 30-60 giây). Nếu phát hiện thấy dấu hiệu bất thường thì exit khỏi vòng lặp, mạch watchdog sẽ khởi động lại máy; hoặc nếu việc kiểm tra quá lâu (cũng là dấu hiệu bất thường) thì máy cũng sẽ khởi động lại. Tuỳ theo nhiệm vụ của máy mà ta chọn kiểm tra dấu hiệu nào. Ví dụ để kiểm tra web server thì ta connect tới TCP port 80, GET về một trang html, rồi ping tới default gateway, có thể sleep 10 giây nữa; như vậy khi web server không trả lời hoặc ping không được default gateway thì máy sẽ khởi động lại.

Các máy ATM của ngân hàng đều dùng mạch watchdog để bảo đảm là máy không bị treo quá lâu. Những máy dùng Windows thì không có sẵn driver cho chip on board như Linux mà phải mua card watchdog về cắm vào và cài driver.

sang trang 1 - 2 - 3