Out of memory

Tôi viết bài này khi vừa hoàn thành 1 hệ thống ERP oracle cho khách hàng. Vấn đề cài đặt ERP oracle tôi sẽ không đề cập ở đây vì nó vừa khô khan khó nuốt, 1 phần vì tài liệu tham khảo về nó khá nhiều ở các site oracle training. Vấn đề tôi muốn nói ở đây là lỗi Out of memory (oom killer) khi cài đặt các ứng dụng trên hệ thống Linux 32bit hoặc x86_64bit

Nói chung khi bị lỗi Out of memory xảy ra thì các tiến trình sẽ bị tắt (kill) hoặc ngừng hoạt động. Nếu các ứng dụng đang chạy lường trước được sự quá tải của bộ nhớ thì thường sẽ có 2 lựa chọn khi điều này xảy ra. 1 là Retry 2 là Abort. Tất nhiên 2 điều này đều nhằm chờ đợi sự thay đổi thông số memory từ phía kernel. Bản thân người dùng linux thường bỏ quên việc tổng quan hệ thống như memory đang hết bao nhiêu, cpu ra sao, các disk hoạt động thế nào. Điều này là 1 thói quen không tốt bởi thực ra việc monitor các tiến trình (proccess) này là điều khá đơn giản thông qua

Mã:

cat /proc/version
cat /proc/cpuinfo
cat /proc/meminfo

Trở lại với việc out of memory tôi gặp là khi đang setup Oracle EBS R12.1.1 trên nền linux64. Nếu ai đã từng đụng qua thử mấy món này sẽ biết các file cài đặt dung lượng tầm 50 – 60gb. Đặc biệt nó đòi hỏi khá nhiều physically memory & swap cache khi khởi chạy. Tuy nhiên lúc đầu tôi không quan tâm lắm đến việc requirement khi cài đặt nó, bởi tôi tự tin với cấu hình Server của mình có thể phà phà trên tầng cây số.

Trong nhiều trường hợp tôi để ý thấy với các hệ thống máy chủ có nhiều hơn 6gb ram, người sử dụng thường phó mặc tất cả việc quản lí chúng cho kernel của hệ thống thực hiện. Điều này không sai, tuy nhiên đôi khi với cấu hình kernel mặc định, bạn sẽ gặp phải 1 vài thông số như kernel.msgmax hoặc kernel.shmmax cản lọc việc tối đa hóa hiệu năng và tài nguyên của memory.

Để khắc phụ điều này cần chú ý kĩ những điều sau

Nhân(kernel) sử dụng bộ nhớ thấp nhất có thể để theo dõi và cấp phát tài nguyên (resource) cho 1 hệ thống. Thế nên một hệ thống 16gb ram sẽ phải sử dụng nhiều bộ nhớ cấp phát hơn là 1 hệ thống 2gb ram. Chính điều này gây áp lực cho bản thân kernel trong quá trình cấp phát, bởi mặc định Linux không giống Windows. Windows nếu bạn cài 32bit thì số lượng bộ nhớ tối đa nhận là 3,2gb thế nên bạn có gắn cao hơn thì cũng chưa chắc nhận được. Ở Linux 32bit hay 64bit đều có thể nhận số lượng memory mà bạn cấp cho chúng nhưng phải kèm theo 1 cấu hình chuẩn để giải tỏa & thỏa mãn số lượng này

Bạn có thể kiểm tra độ cao thấp của bộ nhớ thông qua.

Mã:

# egrep 'High|Low' /proc/meminfo
HighTotal:     5111780 kB
HighFree:         1172 kB
LowTotal:       795688 kB
LowFree:         16788 kB

hoặc

Mã:

# free -lm
             total       used       free     shared    buffers     cached
Mem:          5769       5751         17          0          8       5267
Low:           777        760         16          0          0          0
High:         4991       4990          1          0          0          0
-/+ buffers/cache:        475       5293
Swap:         4773          0       4773

Đối với hệ thống 32bit việc đồng bộ hóa kernel phân giải cho memory là điều không khó khăn, cộng thêm việc tắt chức năng out of memory có thể sẽ mang lại kết quả khả quan hơn cho bạn

Tôi thử nghiệm trên hệ thống linux của mình với version kernel là 2.6.x cách cấu hình lại như sau

Mã:

# cat /proc/sys/vm/lower_zone_protection
# echo "250" > /proc/sys/vm/lower_zone_protection
# echo "vm.lower_zone_protection = 250" > /etc/sysctl.conf

Tắt oom killer bằng cách

Mã:

 # echo "0" > /proc/sys/vm/oom-kill (tắt)
 # echo "1" > /proc/sys/vm/oom-kill (mở)

# echo “vm.oom-kill = 0″ > /etc/sysctl.conf

Sau mỗi tinh chỉnh nên reboot lại hệ thống và biên tập lại nhân thông qua sysctl -p

Đối với hệ thống đang gặp phải quá trình OOM như trên bạn có thể xác định nó chính xác bằng cách

Mã:

tail /var/log/messages:
  Out of Memory: Killed process [PID] [process name].

và tất nhiên sau khi đã tinh chỉnh

Mã:

tail /var/log/messages:
  "Would have oom-killed but /proc/sys/vm/oom-kill is disabled"



Nghĩ về con khi chưa có

Con cái càng lớn thể hiện đức hy sinh của cha mẹ càng cao. Mỗi nỗi niềm được trao đắp từ cha mẹ đến con là mỗi nấc vạch mà ở đó cả con cả cha cả mẹ và cả những người thân đều thấy những vết xước trượt dài quanh đó. Bởi thế mới nói công ơn cha mẹ như trời như biển không phải đếm ngày đếm tháng mà ra được.

Tôi có 12 năm mài đũng quần ở cấp I cấp II và cấp III
Trong cấp I 5 năm bố chở tôi đi học, vậy ra có 1 phép toán 365 x 5 = 1825 ngày. Tuy nhiên phải trừ cho 48 ngày chủ nhật (48 x 5 = 240) – 7 ngày nghỉ tết (7 x 5 = 35) (có lẽ hồi đó nghỉ nhiều hơn nhưng tôi lấy số chuẩn) – trừ cho 4 ngày lễ bao gồm ngày quốc khánh, ngày giải phóng miền nam, ngày quốc tế lao động, và ngày hiến dâng nhà giáo VN (4 x 5 = 20). Ngoài ra phải trừ cho 90 ngày nghỉ hè (90 x 5 = 450). Cả thảy tôi có 1080 ngày bố chở tôi đi học. Vậy là trong 1080 ngày đó, ít nhất có 1000 ngày tôi giả vờ ốm đau bệnh tật để được nghỉ học và chỉ đi khi thấy bố hì hục đạp mãi cái xe không nổ. Thực ra tôi biết bố rất hay đổ thừa, chẳng hạn như vì cái xe máy hỏng thì có thể chửi mắng cái đũa bị lệch, cái bát bị sứt mẻ. Đại loại thế.

Trong cấp II & III tôi tự đi xe đạp và ô tô. Có thể bạn nghĩ tôi đang chém gió nhưng thật sự là số lần tôi đi ô tô nhiều hơn đi xe đạp. Thế ra bố tôi được nghỉ hưu non, không phải làm gì cả. Ngày trước còn có việc cơm nước giặt giũ đưa đón và chăm lo cho tôi nhưng giờ thì không phải làm gì cả. Tôi không hiểu như vậy có gì buồn nhưng rõ ràng lúc đó bố rất buồn. Thật ra nếu khơi khơi chỉ nói về nỗi buồn của bố thì nó bắt nguồn từ nhiều thứ, không phải chỉ riêng tôi đâu. Bố có thể buồn vì ông hàng xóm không đi tập thể dục cùng bố, buồn vì mẹ với tôi đi chơi mà chẳng mua gì ăn cho bố. Hay buồn cả vì chị tôi đi học xa và càng ngày càng cố đi xa hơn nữa. Bố buồn vì tất cả những gì đang loại bố ra và thay thế bố bằng những điều mới mẻ hơn, buồn cả vì những thứ đã và đang qua đi mà bố mất dần khái niệm về nó, không thể nắm được nó.

Lớn dần hơn tôi trái ngược hẳn với bố, tôi cho phép mình ra ngoài đời sớm, được lăn lộn, lừa đảo, xu nịnh, vặn chốt, sờ mó và gần gũi với cuộc đời hơn, trần trụi hơn. Tôi còn nhớ ngày bố đi, bố nói với tôi thế này
Read more

Châm ngòi

gia đình nọ, hai vợ chồng trưởng thành từ nỗi cô đơn của “thế hệ mất mát”. Khi tình yêu không còn đủ lớn để họ bên nhau, để họ có thể nghĩ về nhau thì đứa con là sự ràng buộc to lớn nhất và cũng là duy nhất. Ông chồng yêu một người phụ nữ khác. Bà vợ yêu 1 người cùng giới khác để trả đũa ông chồng. Bà cho rằng sự sỉ nhục to lớn nhất đối với ông chồng là cho ông thấy rằng bà đã “Bỏ 1 thằng đàn ông để yêu 1 con đàn bà”. Ông chồng cư xử rất tệ và cứ chỉ trích bà kia thế này thế nọ, cứ gặp nhau là hai người gây gổ đủ thứ các chuyện đến độ vợ mới của ông cũng bực mình. Sau một vài biến cố, nhân một buổi đá bóng của cậu con trai thì hai người này mới ngồi với nhau. Ông chồng tiếp tục nói những câu đâm chọt. Bà vợ lên tiếng

- Này, anh đừng như thế!

- Đừng như gì chứ!

- Ý em là, anh đừng tỏ ra như là “nó” chưa từng xảy ra. Anh biết là chúng ta từng có thời gian hạnh phúc. Anh biết như thế.

- Uhm..

- Đừng có cố gắng phủi bỏ nó, như thể nó chưa từng xảy ra. Chúng ta đã từng hạnh phúc bên nhau và đến bây giờ, không phải lỗi của ai hết. Đừng đổ lỗi cho em và cũng đừng tự trách mình.

- Anh biết, anh biết là nó từng xảy ra và mình từng hạnh phúc…

Vâng, anh biết đấy, anh biết là anh từng như thế. Đừng cố phủi bỏ nó, đừng cố gắng làm như anh không biết và không nhớ anh đã từng như thế. Em biết là anh nhớ rất rõ. Quá khứ không có lỗi. Mình không sống bằng quá khứ nhưng cũng đừng bác bỏ nó và chà đạp nó anh ạ. ANH LÀM ANH ĐAU ĐẤY!
Read more

Văn hóa công sở

Sáng : Họ thay đồ tươm tất, diện thật ngọt những tấm váy áo được là lượt phẳng phiu, những đôi giày sáng bóng không tì vết. Tựu chung họ chắp vá kết nối để thành 1 cái họ trong 8 tiếng làm việc.

Trưa : Họ tề tựu từng bầy đàn nườp nượp nối đuôi nhau kiếm chỗ cơm văn phòng. Họ bận nhìn ngó, đắn đo, lựa chọn món nào cho đỡ ngán. Họ tất bật tìm chỗ không chỉ cho mình mà còn cho bầy đàn của mình. Bất giác họ dừng hẳn tiếng nói cười để móc vội phần tiền mình cần tính.

Chiều : Họ xông xênh áo quần, gửi vội những báo cáo, nhận vội những lời khen, quên nhanh những lời chê. Tầng hầm rút xe , phóng vội. Bỏ qua những họat động ngòai lề

Em làm gì mà các trưởng phòng nói về em như sao lạ vậy

Ơ em có làm gì đâu, anh nghĩ em chơi trội à ?

Không phải nhưng họ khen lính anh quá, làm anh thấy tủi ! Anh thấy những thứ em đề cập và triển khai như 1 cơn gió lạ đối với cấp trên. Phần thưởng của em ở chúng ?

Phần thường của em không phải tiền bạc. Mà là sự vừa lòng từ anh , từ mọi người trong phòng , từ sếp của mọi người và từ sếp của anh. Anh có hiểu về cung đạo không ?

Có nghe qua, nhưng chưa bao giờ tìm hiểu

Cung đạo là nghệ thuật bắn cung của Nhật (kyudo) còn gọi là xạ nghệ. Cung đạo mang một ý nghĩa triết lý sâu xa. Do vậy mục đích chính của người bắn cung không phải là bắn trúng đích mà là nắm vững cái nghệ thuật bắn cung. Khi cung thủ nắm vững đến mức hoàn thiện từng động tác của mình – thoát ra khỏi cái ý muốn thường ám ảnh là muốn tên phải bắn trúng đích – thì mũi tên sẽ tự lao đến đích. Em muốn rằng mọi điều em làm không phải hướng về những giá trị cụ thể mà tự nó sẽ lao về điều ấy thông qua những đánh giá và cảm giác chuẩn xác của mọi người.

Ghê nha ghê nha cung thủ. Anh phải sớm học nghệ thuật bắn cung thôi


Này lão, lão khai timesheet chưa ?

Mới khai

Tôi không hiểu khai để làm gì trong khi ngày nào cả họ chúng nó cũng ngồi đối mặt và xoay lưng lại với nhau. Nhìn nhau, thấy những việc nhau làm chưa chán hay sao mà còn phải khai thành từng bản cung.

Để họ thấy được trách nhiệm của chúng ta trong mỗi công việc mà ta đang thực hiện

Trách nhiệm của chúng ta không đến từ mấy cái ô excell hay table được kẻ tay trong word đó đâu. Lão biết anh Trung bên phòng sales không ?

Có nghe, sao thế lão

Thứ 7, anh ấy phải đi triển khai lại cáp ngầm cho khách hàng. Đứng dưới mưa từ 2h chiều đến 8h tối. Bọn thi công còn mè nheo đéo thèm làm, anh ấy tự rút tiền túi lóp pi cho thằng sếp 2triệu. Thế theo lão anh ấy làm vì điều gì ?

Ùh vì trách nhiệm.

Thế cái trách nhiệm đó có được nêu trong timesheet không ?
Read more

Hãy là mơ

Mấy hôm nay tôi cố chen chân dự tuyển vào vị trí mới của 1 tập đoàn công nghệ Việt Nam. Những năm tháng qua khi làm việc ở nhiều cty khác nhau, bản thân tôi đã cố hình thành cho mình 1 khái niệm rõ ràng về những công việc cần phải làm khi đứng trên phương diện kẻ làm công. Nói thật ra cho dù có làm ở đâu, chức vị nào, lương bổng, các phụ cấp xã hội, các hoạt động ngoài giờ, các buổi hoạt động cty v.v.. ra sao thì cả thảy đều là những sự lợi dụng có tính chất nhất định và cố hữu. Tại sao ở đây tôi dùng từ nhất định và cố hữu, bởi đơn giản tôi thấy mọi điều đều có căn nguyên của nó và trong những căn nguyên đó tôi cũng thấy cả những thứ được và mất song song đi kèm. Lý do đó được mọi người hiểu như nguyên căn tận cùng của mọi sự và vạn vật đang diễn ra.

Ngày qua ngày công việc của network administrator hay system administrator luôn mang lại cho bản thân người làm nó những giá trị tốt đẹp. Đặc biệt khi con người ta đã lựa chọn nó như 1 con đường xuyên suốt cho bản thân trong những năm tháng hiện tại và tương lai. Tôi vẫn nghĩ mình sẽ phải theo đuổi con đường này tầm 10 – 15 năm nữa thì mới thỏa mãn những gì đã ước mong từ bấy lâu nay. Ấy vậy mà mọi chuyện diễn ra sớm hơn rất nhiều với dự tính. Còn nhớ hôm phỏng vấn, bên nhân sự hỏi thế này

“Đọc CV của em, thấy rõ những mối liên quan và ràng buộc giữa em và network cũng như system hay security. Vậy khi chuyển qua 1 mảng hoàn toàn mới thế này, em có nghĩ sẽ đủ khả năng để nhồi nhét nó thêm vào người. Thật sự anh rất muốn tuyển em nhưng sẽ thật tiếc cho những kiến thức và kinh nghiệm về những thứ em đã có. Bắt em gột sạch để chuyển qua 1 vị trí khác mang phần xa lạ hơn”

Lúc đó tôi thấy thật sự khâm phục người phỏng vấn mình. Khâm phục vì họ đã nghĩ được chính điều làm tôi đang lo nghĩ và băn khoăn khi đến đây ứng tuyển. Tôi chậc miệng nói như máy và không suy nghĩ trước từng câu chữ chỉ nhằm đối đáp sao cho suôn sẻ, không mang phần tâng bốc hay a dua theo suy nghĩ của họ.

“Em – anh hay tất cả những thực thể đang sống và tồn tại đều có những niềm riêng và đam mê xát đáng. Nhưng em nghĩ không phải cứ đam mê là sẽ bằng mọi cách để theo đuổi nó đến tận cùng. Đôi khi con người ta phải tạm lùi đam mê này để tập trung cho những công việc khác theo nhiều cách thức khác nhau. Còn em khi đã chấp nhận lùi đam mê của mình lại để đến đây, có nghĩa là em đã nung nấu những mục đích khác cho riêng mình và cho cả đam mê kia

“Chia sẻ với anh về mục đích của em được không ?”

“Vâng thật ra, em nghĩ ít nhiều những gì em đã có sẽ được sử dụng vào trong mảng mới này. Vậy tại sao em không làm 1 cuộc trao đổi giữa chúng. Em có thể chia sẻ kiến thức của mình về những điều em có trong 2 ngành kia, bù lại mọi người cũng sẽ cho em kiến thức về những gì họ đang có về nghề mới khi em tham gia. Tuyệt hơn là với giá trị lương bổng mà em nếu được cty trả có thể dùng nó để tiếp tục theo đuổi 1 lớp nào đó dạy về network – system security mà em đã muốn học từ trước nhưng chưa có điều kiện kinh tế”

“Ha ha tuyệt ! Vậy anh sẽ vừa training cho em học mảng mới vừa đóng tiền học cho em ở 1 một lớp nào đó có thể giúp em thỏa mãn hơn những gì mình đam mê”

“Lương vẫn như cũ chứ ạ”

“Ha ha !!”
Read more

Page 1 of 20123451020...Last »