Showing posts with label size. Show all posts
Showing posts with label size. Show all posts

How to shrink PDF file size using Microsoft Print to PDF






The "Microsoft Print to PDF" functionality is often used when you don't have a license of Adobe and still would like to print your PDF as another PDF, e.g., print PDF to get rid of all security/password related restrictions of the original document.

While the functionality is awesome and free, one limitation might be the output file size sometimes is less optimized, which results in oversized file to upload to some websites. For example, the Original Doc in the following is 1,852KB only while using the "Microsoft Print to PDF" default settings results in 19,390KB. I cannot upload the file to a website with an upload limit of 10MB for instance.




Microsoft Print to PDF default setting


As an alternative, I found that enabling the "Print As Image" option in the "Advanced" option reduces the file output size to some extent, as shown in the first figure above. As we can notice from the figure, with this setting, the output file size is reduced to 5,166KB compared to 19,390KB. Now I can submit this file to the website with an upload limit of 10MB.

Microsoft Print to PDF enable "Print As Image"




How to get the size of each sub directories and sort them by size?

 



To get the size of each sub directory, we can use the directory usage (du) command.

For example, how to get the size of sub-directory with max-depth 1?

how to get the size of sub-directory with max-depth 1?

  
$ du -d 1 -h
    

How to sort the output by each directory's size from the output of the du -h?

How to sort the output by each directory's size from previous output?

  
$ du -d 1 -h | sort -hr
    
sort -h gives the trick, and -r further sort it in the reverse order.

For more options that are available for du utility, you can use du --help to see more.

How to sort the output by each directory's size from previous output?

  
Usage: du [OPTION]... [FILE]...
  or:  du [OPTION]... --files0-from=F
Summarize disk usage of the set of FILEs, recursively for directories.

Mandatory arguments to long options are mandatory for short options too.
  -0, --null            end each output line with NUL, not newline
  -a, --all             write counts for all files, not just directories
      --apparent-size   print apparent sizes, rather than disk usage; although
                          the apparent size is usually smaller, it may be
                          larger due to holes in ('sparse') files, internal
                          fragmentation, indirect blocks, and the like
  -B, --block-size=SIZE  scale sizes by SIZE before printing them; e.g.,
                           '-BM' prints sizes in units of 1,048,576 bytes;
                           see SIZE format below
  -b, --bytes           equivalent to '--apparent-size --block-size=1'
  -c, --total           produce a grand total
  -D, --dereference-args  dereference only symlinks that are listed on the
                          command line
  -d, --max-depth=N     print the total for a directory (or file, with --all)
                          only if it is N or fewer levels below the command
                          line argument;  --max-depth=0 is the same as
                          --summarize
      --files0-from=F   summarize disk usage of the
                          NUL-terminated file names specified in file F;
                          if F is -, then read names from standard input
  -H                    equivalent to --dereference-args (-D)
  -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
      --inodes          list inode usage information instead of block usage
  -k                    like --block-size=1K
  -L, --dereference     dereference all symbolic links
  -l, --count-links     count sizes many times if hard linked
  -m                    like --block-size=1M
  -P, --no-dereference  don't follow any symbolic links (this is the default)
  -S, --separate-dirs   for directories do not include size of subdirectories
      --si              like -h, but use powers of 1000 not 1024
  -s, --summarize       display only a total for each argument
  -t, --threshold=SIZE  exclude entries smaller than SIZE if positive,
                          or entries greater than SIZE if negative
      --time            show time of the last modification of any file in the
                          directory, or any of its subdirectories
      --time=WORD       show time as WORD instead of modification time:
                          atime, access, use, ctime or status
      --time-style=STYLE  show times using STYLE, which can be:
                            full-iso, long-iso, iso, or +FORMAT;
                            FORMAT is interpreted like in 'date'
  -X, --exclude-from=FILE  exclude files that match any pattern in FILE
      --exclude=PATTERN    exclude files that match PATTERN
  -x, --one-file-system    skip directories on different file systems
      --help     display this help and exit
      --version  output version information and exit
    

ERROR: The total number of locks exceeds the lock table size Error Code: 1206

ERROR: The total number of locks exceeds the lock table size Error Code: 1206


Locate the config file of mysql in Ubuntu 18.04

/etc/mysql/mysql.conf.d/mysqld.cnf


Add the following line to the end of the file

innodb_buffer_pool_size        = 1G

How to change the size of swapfile in Linux



A swap file is a file that contains data retrieved from system memory, or RAM. By transferring data from RAM to a secondary storage device in the form of a swap file, a computer is able to free up memory for other programs [1]. 

Sometimes, a large swap file can help when your RAM size is limited, e.g., training a large Deep Learning model on your laptop (although it is not a good idea...)

In Linux, we can follow the several steps in the following to change the swap size.

1. disable the current swap file

$ sudo swapoff /swapfile

2. increase (or decrease) the size of swap file (e.g., 8G as below)

$ sudo dd if=/dev/zero of=/swapfile bs=1G count=8

3. Setup the file as our swap file

$ sudo mkswap /swapfile

4. enable swaping

$ sudo swapon /swapfile

5. check the current swap size

$ grep SwapTotal /proc/meminfo


References