調試新方法
9月13日發現的,這個方法特別好. snippetslab://snippet/283B1E35-8926-4597-840A-156020BF90A5/ 就是sysctrl開啟vm的日志,然后dmesg一直查看.
1 root@BooksNas:~# sysctl vm.block_dump=1 2 vm.block_dump = 1 3 root@BooksNas:~# dmesg -Tw | grep -e md 4 [Fri Sep 13 19:51:59 2019] scemd(12920): dirtied inode 1075980 (volume2.lock.QNvXiK) on tmpfs
可以看到特大量的無關信息
1 Fri Sep 13 20:17:45 2019] scemd(12920): dirtied inode 1151427 (volume1.lock.2xA91s) on tmpfs 2 [Fri Sep 13 20:17:51 2019] scemd(12920): dirtied inode 1151537 (volume2.lock.MLROAS) on tmpfs 3 [Fri Sep 13 20:17:51 2019] scemd(12920): dirtied inode 1151538 (volume1.lock.egax9h) on tmpfs 4 [Fri Sep 13 20:17:57 2019] scemd(12920): dirtied inode 1151639 (volume2.lock.qYZAQU) on tmpfs 5 [Fri Sep 13 20:17:57 2019] scemd(12920): dirtied inode 1151640 (volume1.lock.QlXHxx) on tmpfs 6 [Fri Sep 13 20:18:03 2019] scemd(12920): dirtied inode 1151741 (volume2.lock.8AMumn) on tmpfs 7 [Fri Sep 13 20:18:03 2019] scemd(12920): dirtied inode 1151742 (volume1.lock.cXCkbd) on tmpfs
弄完了關掉
1 sysctl vm.block_dump=0
查看狀態
1 sysctl vm.block_dump
所以原來某個人說的調試方法是真的好用的.
- 如果要改短到比如2分鍾休眠,那就改配置文件,改了后去控制面板隨便點點,讓它有機會刷新吧. => 很遺憾的是,這個怎么都沒弄成功. => 最好就還是10分鍾吧.
- 怎么理解日志呢?就是看大概最后有md寫入的,不放心可以[grep md]限制結果變壞.
- 所以理想的調試是什么呢?開着兩個shell,慢悠悠的看着觀察着,要幾個有幾個,那就很好了...恩...
- 用這個英文可以開着shell,所以可以一直觀察休眠.
- 也可以看到一直出現的這個日志信息,可以調試Drive
- 確實的網頁會帶來一個該死的問題,看來就是錯誤了
-
1 [Fri Sep 13 20:53:51 2019] SYNO.Core.Curre(7876): dirtied inode 30814 (ftp_cur_con.log) on md0
Drive 結論
確實它導致的,過去兩個月了,官方無法解決: https://koolshare.cn/thread-165759-1-1.html
降級Drive到1.1可以暫時用一用...
手動下載1.1的Drive,卸載2.0,忘掉備份功能,這樣慢慢的開始吧:)
1.1的日志大概是這樣的
1 [16360.262357] syno-cloud-clie(26959): READ block 36680128 on md3 (1024 sectors) 2 [16360.262453] syno-cloud-clie(26959): READ block 36681152 on md3 (1024 sectors) 3 [16360.262548] syno-cloud-clie(26959): READ block 36682176 on md3 (1024 sectors)
有個奇怪的東西...
1 [21511.587181] SYNO.Core.Curre(21466): dirtied inode 30667 (ftp_cur_con.log) on md0
如果樂意的話,也可以看大量實時的日志
1 dmesg -Tw
配合改短休眠時間,慢慢的觀察它的情況...
早期基本結論
- 6.2.2 沒有休眠的問題,系統沒有問題.
- 星際蝸牛裝在mSata會導致3~4分鍾讀取smart寫scemd.log日志,而喚起硬盤.
- 日志調試很有用,主要依賴這兩個命令,很多垃圾信息不用管 tail -f /var/log/hibernationFull.log | grep -v -e proc -e tmpfs -e WRITE
全部查看
1 cat /var/log/hibernationFull.log | grep -v -e proc -e tmpfs -e WRITE -
Driver 2.0是否會導致不能休眠,有待爭議. - 一直開着命令行會導致無法休眠,開着網頁,不知道.硬盤的休眠的一個前提是沒有很多的數據訪問.
- 休眠的設置時間文件
1 cat /etc/synoinfo.conf | grep stand 2 standbytimer="10"
可以弄成1,用vim改,使用[/]搜索stand,然后改成值1,這樣待機就快了.
vim /etc/synoinfo.conf #命令 /stand => 尋找 #改值為1,完成
有意思的是....vim很聰明...還有...在控制面板里能看到1字呢!!!
影響因素
- 安裝Drive 1.14后,也沒機會休眠了,呵呵.
- 安裝Drive 2.0套件后,會無法休眠,主要導致是
-
1 [ 1105.202362] cloud-workerd(17744): dirtied inode 92672 (job-db.sqlite-wal) on md3 2 [ 1105.202499] cloud-workerd(17744): dirtied inode 92673 (job-db.sqlite-shm) on md3
在資源查看器的進程里可以看到就是Driver Server的玩意在工作...
通過對raid的認識,我們現在知道了,數據會同時寫道兩個地方
1 [ 4507.641063] jbd2/md0-8(4572): WRITE block 2184264 on md0 (8 sectors) 2 [ 4507.641174] md0_raid1(4072): WRITE block 4980352 on sda1 (8 sectors) 3 [ 4507.641205] md0_raid1(4072): WRITE block 4980352 on sdc1 (8 sectors) 4 [ 4507.668850] jbd2/md0-8(4572): WRITE block 2184272 on md0 (8 sectors) 5 [ 4507.668872] jbd2/md0-8(4572): WRITE block 2184280 on md0 (8 sectors) 6 [ 4507.669633] jbd2/md0-8(4572): WRITE block 2184288 on md0 (8 sectors) 7 [ 4507.884497] md0_raid1(4072): WRITE block 4980352 on sda1 (8 sectors) 8 [ 4507.884536] md0_raid1(4072): WRITE block 4980352 on sdc1 (8 sectors)
所以硬盤很忙...真的...忙....
無關的部分
- 這人想出來讓DSM不寫其他盤的方法的.. http://www.nasyun.com/thread-59714-1-1.html 讓某個盤的東西作廢 我們的探索-可以直接用hdparm來調試
- 休眠調試的命令行
1 sysctl kernel.syno_hibernation_log_level